图片转字符画
# -*- coding: utf-8 -*-
from PIL import Image
# 图片文件
# 设置图片大小,越大精度越高
height=50
width=50
ascii_char=['##', '@@', '%%', 'QQ',
'SS','UU', 'OO', '??',
'oo','++', '--', '::', '..']
# 传入图片文件名称/位置,输出字符画,
def get_strImg(img):
im=Image.open(img)
im=im.resize((width,height), Image.NEAREST)
im = im.convert('L') # 图片灰度处理
pix = im.load() # 返回像素值
txt=""
for x in range(height):
for y in range(width):
if int(pix[y, x])==0: # 像素为0时,输入 空格
txt+=" "
else:
txt+=ascii_char[int(pix[y, x]) * len(ascii_char) / 256]
txt +='\n'
print txt
with open('out.txt','w') as f:
f.write(txt)
if __name__ == '__main__':
img='1.png'
get_strImg(img)
--------------------传入----------------------
-------------------输出---------------------