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')

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

     怎么样,有没有觉得挺有趣的。

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

     结果如下:

    记录一下。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值