圖片轉字符畫


#-*- 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