1. 安装PIL库或者Pillow
PIL(Python Imaging Library)是Python一个强大方便的图像处理库,名气也比较大。不过只支持到Python 2.7。Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库
命令行pip安装:
pip install Pillow
在当前文件下快速打开控制台方法:
shift + 鼠标右键
2.项目代码:
from PIL import Image
# 调整转换后图片分辨率(手动调整)
WIDTH = 400
HEIGHT = 400
# 根据原图灰度大小计算转换后所用字符
def get_char(r, g, b, a=256):
if a == 0:
return " "
gray = int(0.2126*r + 0.7152*g + 0.0722*b)
unit = 257/len(char_list)
return char_list[int(gray/unit)]
# 图片处理函数
def get_pic(path):
img = Image.open(path)
# 调整原图大小
img = img.resize((WIDTH, HEIGHT), Image.NEAREST)
# 文字云
text = ""
# 图片像素遍历
for y in range(HEIGHT):
for x in range(WIDTH):
pixel = img.getpixel((x, y))
text += get_char(*pixel)
text += '\n'
with open("out.txt", 'w') as out:
out.write(text)
pass
if __name__ == '__main__':
# 字符表
char_list = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
get_pic("img.jpg")
pass
原图:
转换后: