Skip to content

Latest commit

 

History

History
 
 

ASCIIArt

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

ASCII Art 图片转字符画

ASCII Art 简介

字符画艺术(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]

效果展示

使用仓库中的测试图片,结果如下:

  • 输入图片
  • 输出图片