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()
输出:
精度要求不那么高的情况下还是能看的。
然后直接看代码吧。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)然后看下原图和字符画吧:
精度要求不那么高的情况下还是能看的。
相关文章推荐
- 将普通图片转化为字符画(Python)
- python小项目--图片转化为字符画
- 基于 canvas 将图片转化成字符画
- python图片转字符画
- python小项目二:图片转字符画
- python图片转字符画
- python将文本转化成gif图片阅读
- python开发之图片转字符画
- Python 图片转字符画
- 基于 canvas 将图片转化成字符画
- 基于canvas将图片转化成字符画
- 从零学python系列之教你如何根据图片生成字符画
- python实现图片转化成可读文件
- 利用Python子进程 subprocess模块和ffmpeg转化视频为图片
- python图片数组格式转化
- 通过javascript把图片转化为字符画
- Python项目之图片转字符画学习笔记
- Python 图片转字符画
- python图片转字符画