图片转字符画


#-*- coding:utf-8 -*-
#图片转字符画
#Author Name;hanmeimei
from PIL import Image
#import argparse
ascii_char=list('abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&* ')
#将256灰度映射到70个字符上
def get_char(r,g,b,alpha=255):
if alpha==0:
return ' '
length=len(ascii_char)
gray=int(0.2126 * r + 0.7152 * g + 0.0722 * b)
unit=255.0/length
return ascii_char[int(gray/unit)]
#定义图片高度和宽度
hight=60
width=60
#调用Image,返回一个图片对象
im=Image.open('D:/DingDang.png','r')
#重新定义图片大小,并且从图片中获取最近的元素模忽略其他元素
im=im.resize((width,hight),Image.NEAREST)
#定义文本初始值
txt=''
for i in range(hight):
for j in range(width):
txt=txt + get_char(*im.getpixel((j,i))) #*im.getpixel((j,i))返回一个元组,拆分成4个参数
txt=txt+'\n'
print (txt)

#将结果输出到文件
file=open('D:/foo1.txt','w')
file.write(txt)


输出结果如下图所示:

 




					


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM