字符画艺术(ASCII Arts)
,又名“文字图”、“字符画”、“文字画”,这种主要依靠电脑表现的艺术形式是指使用电脑字符(主要是ASCII
)来表达图片,最早于1982
年美国卡内基梅隆大学出现。
最简单的字符画艺术是颜文字(emoticon)
,也就是用简单的字符表达表情符号,它的出现是由早期互联网环境决定的。早期的网络交流只局限于使用文字和聊天软件内置的有限的图形表情,交流双方看到的是屏幕上的文字而非对方的面部,因此在交流过程中无法通过观察对方的面部表情读取对方情绪,这种视觉感受上的缺陷在某种程度上阻碍了沟通的深入。Emoticon
的出现,改善了这种视觉感受的单一状况。由字符组成的简洁的面部表情形象,虽简单却又生动形象,弥补了颜文网络沟通中无法读取对方表情的视觉缺陷,使得交流可以更人性化和具有趣味性。
更进一步,我们可以把任意一张图片转化为以字符形式呈现,其实现原理是利用图片每个像素点的灰度信息,将其映射至不同的字符,从而完成图片的转化。
直接输入命令:
python CharTransfer.py <input image path> [output image path]
即可运行代码,其中,input image path
是输入图片的路径;output image path
是结果的存储路径,这个参数是可选的,若不指明,则最终的结果将不会存储。
你还可以在CharTransfer.py
中修改以下内容:
- MAX_SIZE: 输入图片压缩尺寸,默认
800
- TYPEFACE_PATH: 字符文件路径,默认为仓库自带的
javatext.ttf
以调整图片的最终效果。
运行中还会打印代码运行的进度信息,如:
Transfering: 87%|███████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 494/565 [00:16<00:02, 29.52it/s]
使用仓库中的测试图片,结果如下:
- 输入图片
- 输出图片