莱昂纳多(Leonardo)
asciipixels是一个快速而令人放松的库,用于将图像和视频转换为高度可定制的ASCII艺术品。该库具有四个主要功能,可以完成所有验证工作,并将结果保存为图像,gif或video: image.asciify() , image.dynamic_asciify() , video.asciify()和video.dynamic_asciify() 。
为了对程序应采取的更加详细的控制,也可以使用CoreAsciifier类(主要的assiipixels功能背后的类)和ImageMagick和FFMPEG的包装功能。
真正设定Asciipixels库的是动态功能。在函数image.dynamic_asciify()和video.dynamic_asciify()中,某些参数可以随着时间而变化。用户可以传递接收帧号并返回参数值,而不是传递硬编码值本身。在下面的示例中, definition参数每帧增加16个单位。它是由非常简单的lambda表达式建模的。

注意:assiipixels取决于两个特定的命令行软件: ImageMagick和FFMPEG 。如果您是Cli Nerd,并且已经安装了这些内容,请继续此指南。如果没有,请转到安装部分。
根据您的用例使用相应的功能:
image.asciify()将图像转换为图像。生成的ASCII ART作为字符串返回,并可选地保存在TXT中。
image.dynamic_asciify()将图像转换为GIF或MP4视频。支持动态参数。
video.asciify()将视频转换为视频。
video.dynamic_asciify()将视频转换为视频。支持动态参数。
这四个都有输入文件作为第一个参数的path 。其余参数都有默认值。沿着这些线路足以让您入门:
import asciipixels as ap
ap . image . asciify ( 'foo.png' )这将生成一个名为foo2.png的新的验证图像。
重要的是要注意,除了image.asciify()以外的所有函数都需要a if __name__ == '__main__'在用户代码的顶级检查(除非您在命令行上使用Interactive Python)。这是因为库使用多处理来加快框架的生成。因此,为了使视频提交,您可以执行以下操作:
import asciipixels as ap
if __name__ == '__main__' :
ap . video . asciify ( 'foo.mp4' )最重要的参数是definition 。它只是水平轴中字符的数量。在所有功能中默认为100。将其设置得太高,ASCII艺术看起来像艺术。将其设置得太低,它看起来像ASCII。
另外,请记住,您可以设置图像/视频的输出分辨率。输出尺寸默认情况下近似输入维度,但是您可以使用out_width参数更改它。
最后,如果您决定在光背景上使用深色文字,请记住将reverse_chars设置为True ,以纠正像素到ASCII映射。
作为最后一个示例,我在“动态”部分中使用以下代码进行了大型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
)可以在其文档中找到给定主要功能的参数/参数的完整列表。
要安装assiipixels,请在终端中使用PIP :
视窗
pip install asciipixels
MacOS / Linux
python3 -m pip install asciipixels
Asciipixels具有两个未自动安装的依赖项。这些是图像操作的成像绘制,用于视频和音频操纵。您可以从他们的官方网站或使用Homebrew (如果适用)下载它们。
在此处安装ImageMagick
在此处安装FFMPEG
ASCII艺术只是用字符和字母的图像(或视频)表示。可以通过使用匹配图像一部分的亮度或轮廓的字符来组成这种艺术。该图书馆与亮度方面合作。