首先安装pip
$ sudo apt-get install python-pip python-dev build-essential
$ sudo pip install –upgrade pip
$ sudo pip install –upgrade virtualenv
#coding=utf-8
#灰度值公式:灰度值 = 0.2126 * r + 0.7152 * g + 0.0722 * b
from PIL import Image
import argparse
#获取参数
IMG = '/home/xuhang/桌面/new/python小程序/画转字符/1.png'
WIDTH = 80
HEIGHT = 60
OUTPUT = '/home/xuhang/桌面/new/python小程序/画转字符/p2c.txt'
#所用的字符
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
# 将256灰度映射到70个字符上
def get_char(r,b,g,alpha = 256):
if alpha == 0:
return ' '
length = len(ascii_char)
gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
unit = (256.0 + 1)/length
return ascii_char[int(gray/unit)]
if __name__ == '__main__':
im = Image.open(IMG)
im = im.resize((WIDTH,HEIGHT), Image.NEAREST)
txt = ""
for i in range(HEIGHT):
for j in range(WIDTH):
txt += get_char(*im.getpixel((j,i)))
txt += '\n'
print txt
# 字符画输出到文件
if OUTPUT:
with open(OUTPUT,'w') as f:
f.write(txt)
else:
with open("output.txt",'w') as f:
f.write(txt)
原图:
结果
$$$%aQQQb#$$
$#r[[[aI (X[|" (#$
%1[[[[[rp ap "|1$
$|[[[[[[[h n p[[q$
$$[[[[[[[[[[ Cf"h h"h |[[[%
$t[[[[[[[[[[[ ( hp- I U[[[[$
%[[[[[[[[[[[ta( pO - zZ[%
$[[[[[[[[[[q( C} "(kZqhf (X$
$[[[[[[[[1O p> Ih }Z ZW Cz>> C
$[[[[[[[[M -OO-" (ZZZZZ% h n
q[[[[[[[a >Cp- MZZZm>
$[[[[[[[# C- fpnn-----
#[[[[[[1" nn---- IO >
[[[[[[uC z $
$[[[[[[h } >nhC- $
$[[[[[[ WZZZZZZqk%omd#%O(" - pI
$[[[[[r bZZb%#wZZZZZZZZZZZZmbo&&pW&oa -
$[[[[[a kZZZZZZZZZZZZZZZZZZZZZZZZZZZI C
$[[[[[a WZZZZZZZZZZZZZZZZZZZZZZZZZZ& $
$[[[[[p }ZZZZZZZZZZZZZZZZZZZZZZZZZa O$
r[[[[a %m&OOOOOOmWaZZZZZZZZZZZZk $
#[[[[U I#OOOOOOOOOOoqZZZZZZZZZZ- -
$[[[[[} -OOOOOOOOOOOOMZZZZZZZd" $
Z[[[[&" OOOOOOOOOOOOO%ZZZZZq> n
$1[[[[q "kOOOOOOOOOOObZZZ& }
B[[[[[- %OOOOOOOOOO%ZZh $
#[[[[1" IBmOOOOOOB" >$
r[[[[b z&o&O" >$
Z[[[[X }O&adZ% bZwo&%wZZM
$r[|#aZZZZmboo* zM*Z0Z@-$
$&ZZZZWZ1[[[[- aJzzzZ">
$qW$1[[[[[[[[" zzzCZz" $
%[[[[[[[[[[[C -zzz0zb $
$[[[[[[[[[[[[C ("nMq$n $
[[[[[[[[[[[#"#} -h >--- p
r[[[[[[Uq[o Ip> f # "$
q[[1Q#t[[Xf - n$} $
$[[[[[[[[a ( "
$[[[[[[[[a n fn
[[[[[[[[Uf - (O
$oZw$ U[[[[[[[[X n( z} - I
&ZZZZ$a[[[[[[[[[h "nCOn( q C
MZZZZ$Q[[[[[[[[[[q p[r $
$kZZ@ |[[[[[[[[[[[rz -q[[[ n
$[[[[[[[[[[[[[[[[1r[[[[[[[[( }
$[[[[[[[[[[[[[[[[[[[[[[[|QaB "$
$(a[[[[[[[[[[[[[[[[[u%$$ $C }$
$> o[[[[[[[[[[[[[[[a$
$ >[[[[[[[[[[[[&$
$ n[[[[[[[[u$
p C1[[[[r$
$ fp8
$ $
n (
$O z
$( ($
$*nnC$