python实现彩色图片灰度化并转化为字符型图片

    python可以用来学习用来工作,当然也能用来娱乐,相信众多pythoner都不会反对这一点,今天是周五了,又是一个美好的周末的开始,打算做点有意思的事情玩一玩,无意间看到一个很有意思的东西就打算拿来实现以下,主要就是基于python的PIL模块将彩色图片转化为字符型的内容,觉得很好玩,具体实践如下:

#!usr/bin/env python
#encoding:utf-8
from __future__ import division


'''
__Author__:沂水寒城
功能:将图片转化为字符图片
'''


from PIL import Image

def pic2char(picture,savepath='tmp.txt'):
    '''
    将图片转化为字符图片
    '''
    char=list("vhsahjkerhjknmnbejn43289057286167*()&%#$@^*)$@Bfdsag%8&WMdfg/\gre|(gr)1{}[02783]?-_+~<>i !lI;:,v\"^`'fv.fre ")
    length=len(char)
    img=Image.open(picture)    
    width,height=img.size
    img=img.resize((int(width*0.45),int(height*0.2)))  #图像缩放
    img=img.convert("L")  
    resPic=""
    for i in range(img.size[1]):
        for j in range(img.size[0]):
            gray=img.getpixel((j, i))  
            unit=256.0/length
            resPic+=char[int(gray/unit)] 
        resPic+='\n'
    with open(savepath,'w') as f:
        f.write(resPic)


if __name__=='__main__':
    pic2char(picture='weather.jpg')

     用一张天气图片作为实验的输入,结果如下:

python实现彩色图片灰度化并转化为字符型图片_第1张图片     怎么样,有没有觉得挺有趣的。

    这么有意思的东西怎么会少得了我皇呢

python实现彩色图片灰度化并转化为字符型图片_第2张图片

     结果如下:

python实现彩色图片灰度化并转化为字符型图片_第3张图片

    记录一下。

你可能感兴趣的:(编程技术)