您的位置:首页 > 编程语言 > Python开发

python图片转化成字符画

2018-03-05 19:46 363 查看
这需要用到PIL这个库,win安装的话到时有点不一样,需要打pip install pillow
然后直接看代码吧。from PIL import Image

ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")#字符从深到浅
length=len(ascii_char)
img=Image.open('D:/佐助.jpg')
(width,heigth)=img.size
img=img.resize((int(width*0.1),int(heigth*0.05)))#缩小,便于字符画的展示
print(img.size)#打印字符画的宽和高
def covert(img):
img=img.convert("L")#彩图直接灰度化
txt=""
for i in range(img.size[1]):#高,也就是行
for j in range(img.size[0]):#宽,也就是高
gray=img.getpixel((j,i))#得到该点的灰度
gray/=256.0#灰度归一化
txt+=ascii_char[int(gray*length)]#不同灰度分散到字符列表中的每个字符
txt+='\n'#表示做完一行了
return txt
txt=covert(img)
f=open('D:/佐助.txt','w')
f.write(txt)
f.close()
输出:
(95, 47)
然后看下原图和字符画吧:





精度要求不那么高的情况下还是能看的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: