图片转为字符图(pillow库)
# 1.导入Image类 from PIL import Image # 2.使用Image的对象读取图片 image_name = \'123.jpg\' img = Image.open(image_name) # print(img.size,img.mode) # 3.将图片转为灰度图片 img = img.convert(\'L\') # L是转换灰度图片 # img.show() img.save(\'fff.jpg\') # 4.获取原图大小,并根据实际需要缩小图片 w,h = img.size # 如果图片太大,将高和宽做一个等比例的缩放 if w > 100: h = int((100/w) * h/1.8) w = 100 # 等比例缩放用到resize方法,第二个参数是加入滤镜,保证缩放质量 img = img.resize((w,h),Image.ANTIALIAS) # img.save(\'fff.jpg\') # 添加多行注释的快捷键: ctrl+/ # 5.将缩小的图片像素点的颜色值转为字符并存放到列表 data = [] chars = [\' \',\'.\',\'c\',\'h\',\'e\',\'n\',\'y\',\'i\',\'m\',\'e\',\'n\',\'g\'] # 根据图片宽度和高度遍历像素点并取出每个像素点的颜色值 for i in range(0,h): line = \'\' for j in range(0,w): # 取出每个像素点的值 pi = img.getpixel((j,i)) # 用字符去替换像素点的颜色值 for k in range(0,12): if pi < (k+1) * 22: line += chars[11-k] break data.append(line) # 6.将保存的像素字符列表写入到文件中 f = open(image_name+\'.txt\',\'w\') for d in data: print(d,file=f) f.close() print(\'successful!\')
版权声明:本文为bigpig369原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。