Леонардо - УМАКАТИВНО
asciipixels -это быстро и легкая библиотека для преобразования изображений и видео в очень настраиваемое искусство ASCII . Библиотека имеет четыре основные функции, которые выполняют всю работу по ассоциации, и сохраняют результат в качестве изображения, GIF или видео: image.asciify() , image.dynamic_asciify() , video.asciify() и video.dynamic_asciify() .
Для более детального контроля того, что должна делать программа, класс CoreAsciifier (класс, стоящие за первичными функциями Asciipixels), а также для обертки для ImageMagick и FFMPEG также доступны.
Что действительно отличает библиотеку Asciipixels отдельно, так это динамическая функциональность. В функциях image.dynamic_asciify() и video.dynamic_asciify() Некоторые параметры могут измениться с течением времени. Пользователь может передавать Callables , которые получают номер кадра и возвращают значение параметра, а не передают само жесткое значение само. В приведенном ниже примере параметр definition увеличивается на 16 единиц в каждом кадре. Это моделируется очень простой выражением lambda .

Примечание. Asciipixels зависит от двух конкретных программных программных лиц: ImageMagick и FFMPEG . Если вы не являетесь чемпионатом и уже установили их, то продолжайте это руководство. Если нет, перейдите в раздел установки.
Используйте соответствующую функцию в зависимости от вашего использования:
image.asciify() преобразует изображение в изображение. Сгенерированное искусство ASCII возвращается в виде строки и, необязательно сохраняется в TXT.
image.dynamic_asciify() преобразует изображение в GIF или видео MP4. Поддерживает динамические параметры.
video.asciify() преобразует видео в видео.
video.dynamic_asciify() преобразует видео в видео. Поддерживает динамические параметры.
Все четыре имеют path входного файла в качестве первого аргумента. Остальные аргументы имеют значения по умолчанию . Что -то в этом роде достаточно, чтобы начать вас:
import asciipixels as ap
ap . image . asciify ( 'foo.png' ) Это генерирует новое Asciified Image с именем foo2.png .
Важно отметить, что все функции, кроме image.asciify() требуют a if __name__ == '__main__' Проверьте верхний уровень кода пользователя ( если вы не используете интерактивный Python в командной строке). Это связано с тем, что библиотека использует многопроцессорную работу для ускорения генерации кадров. Итак, чтобы Asciify видео, например, вы можете сделать следующее:
import asciipixels as ap
if __name__ == '__main__' :
ap . video . asciify ( 'foo.mp4' ) Самым важным параметром для поиска является definition . Это просто количество символов в горизонтальной оси. По умолчанию до 100 во всех функциях. Установите его слишком высоко, и искусство ASCII будет выглядеть как искусство. Установите его слишком низко, и это будет выглядеть как ASCII.
Кроме того, имейте в виду, что вы можете установить выходное разрешение изображения/видео. Выходные измерения по умолчанию приближают входные размеры, но вы можете изменить это с помощью аргумента out_width .
Наконец, если вы решите работать с темным текстом на легком фоне , не забудьте установить reverse_chars True , чтобы исправить картирование Pixel-Ascii.
В качестве последнего примера я сделал Bigweld GIF в разделе «Что такое» со следующим кодом:
import asciipixels as ap
if __name__ == '__main__' :
ap . image . dynamic_asciify (
'ceo.png' ,
bg_color = 255 ,
txt_color = 0 ,
definition = lambda f : f * 16 ,
fps = 2 ,
frame_count = 7 ,
out_width = 1000 ,
reverse_chars = True
)Полный список параметров/аргументов данной первичной функции можно найти в его документации.
Чтобы установить Asciipixels, используйте PIP в терминале:
Окна
pip install asciipixels
macos / linux
python3 -m pip install asciipixels
Asciipixels имеет две зависимости , которые не установлены автоматически. Это Imagemagick , для манипуляции с изображением и FFMPEG , для манипуляции с видео и аудио. Вы можете скачать их с их официальных сайтов или с помощью Homebrew (если применимо).
Установите Imagemagick здесь
Установите ffmpeg здесь
Искусство ASCII - это просто представление изображений (или видео) с персонажами и буквами. Это искусство может быть составлено с использованием символов, которые соответствуют яркости или контуру части изображения. Эта библиотека работает с аспектом яркости.