Python如何将图片转换成字符

PIL(Python Image Library)库是Python平台上一个功能强大的图像处理标准库,支持图像的存储、显示和处理,几乎可以处理所有图片格式,如图像的压缩、裁剪、叠加、添加文字等等。

安装PIL库:pip install pillow

复制代码
from PIL import Image
ascii_char=list('\~!@#.,[abcdefghij]wmnoxy$%;-=<>?:|^&*/ ')
def get_char(r,b,g,alpha=256):
    if alpha==0:
        return ' '
    gray=int(0.2126*r+0.7125*g+0.0722*b)
    uint=256/len(ascii_char)
    return ascii_char[int(gray/uint)]
def run():
    img=Image.open('0.jpg')
    WIDTH,HEIGHT=100,60
    img=img.resize((WIDTH,HEIGHT))
    txt=""
    for i in range(HEIGHT):
        for j in range(WIDTH):
            txt+=get_char(*img.getpixel((j,i)))
        txt+='\n'
    with open("pic.txt",'w') as fo:
        fo.write(txt)
    print(txt)    
run()

示例

相关推荐
じ☆冷颜〃1 小时前
分布式系统中网络技术的演进与异构融合架构(HFNA)
笔记·python·物联网·设计模式·架构·云计算
夜思红尘3 小时前
算法--双指针
python·算法·剪枝
人工智能训练3 小时前
OpenEnler等Linux系统中安装git工具的方法
linux·运维·服务器·git·vscode·python·ubuntu
散峰而望4 小时前
【算法竞赛】C++函数详解:从定义、调用到高级用法
c语言·开发语言·数据结构·c++·算法·github
冷凝雨4 小时前
复数乘法(C & Simulink)
c语言·开发语言·信号处理·simulink·dsp
CoderCodingNo4 小时前
【GESP】C++五级真题(贪心思想考点) luogu-B4071 [GESP202412 五级] 武器强化
开发语言·c++·算法
0和1的舞者4 小时前
Spring AOP详解(一)
java·开发语言·前端·spring·aop·面向切面
MoonBit月兔4 小时前
年终 Meetup:走进腾讯|AI 原生编程与 Code Agent 实战交流会
大数据·开发语言·人工智能·腾讯云·moonbit
智航GIS4 小时前
8.2 面向对象
开发语言·python
小小星球之旅4 小时前
CompletableFuture学习
java·开发语言·学习