图片转字符画

图片转字符画

# -*- coding: utf-8 -*-
from PIL import Image
# 图片文件
# 设置图片大小,越大精度越高
height=50
width=50
ascii_char=['##', '@@', '%%', 'QQ', 
            'SS','UU', 'OO', '??', 
            'oo','++', '--', '::', '..']
# 传入图片文件名称/位置,输出字符画,
def get_strImg(img):
    im=Image.open(img)
    im=im.resize((width,height), Image.NEAREST)
    im = im.convert('L')    # 图片灰度处理
    pix = im.load()        # 返回像素值
    txt=""
    for x in range(height):
        for y in range(width):
            if int(pix[y, x])==0:            # 像素为0时,输入 空格
                txt+="  "
            else:
                txt+=ascii_char[int(pix[y, x]) * len(ascii_char) / 256]
        txt +='\n'
    print txt
    with open('out.txt','w') as f:    
        f.write(txt)
if __name__ == '__main__':
    img='1.png'
    get_strImg(img)

--------------------传入----------------------

19200806_5PVm.png

-------------------输出---------------------

19200806_6Cbf.png

转载于:https://my.oschina.net/sii/blog/662515

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值