欢迎光临散文网 会员登陆 & 注册

不到20行代码,获得初音的字符画

2018-02-10 22:16 作者:keysking  | 我要投稿


本代码的详解及演示视频:

[玩py]两分钟获得初音小姐姐的字符画

from PIL import Image

chars = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")

#不同灰度对应不同的字符,此list为灰度与字符的映射

length = len(chars)


imgFile = open(u'./111.png','rb') #打开图片文件

img = Image.open(imgFile)       #获得图片

img = img.resize((200,200))     #调整图片大小

imgFile.close()                 #将刚刚打开的文件关掉,因为已经拿到图片了嘛



img = img.convert("L")  #将图片转换为黑白图片


outChars = ''

#一行一行地,一个像素点一个像素点地获取灰度对应的字符

for y in range(0,img.size[1]):  #size属性表示图片的分辨率,'0'为横向大小,'1'为纵向


    for x in range(0,img.size[0]):

        gray = img.getpixel((x,y))

        #返回指定位置的像素

        outChars = outChars + chars[int(((length-1)*gray)/256)]

        #建立灰度与字符集的映射

    outChars = outChars+'\r\n' #一行结束,换行


#打开(创建)一个文件,将字符画写入其中

outFile = open('out.txt','w')

outFile.write(outChars)

outFile.close()


不到20行代码,获得初音的字符画的评论 (共 条)

分享到微博请遵守国家法律