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

示例

相关推荐
孤狼warrior12 分钟前
YOLO目标检测 一千字解析yolo最初的摸样 模型下载,数据集构建及模型训练代码
人工智能·python·深度学习·算法·yolo·目标检测·目标跟踪
devmoon19 分钟前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
Katecat9966322 分钟前
YOLO11分割算法实现甲状腺超声病灶自动检测与定位_DWR方法应用
python
Evand J22 分钟前
TDOA(到达时间差)的GDOP和CRLB计算的MATLAB例程,论文复现,附参考文献。GDOP:几何精度因子&CRLB:克拉美罗下界
开发语言·matlab·tdoa·crlb·gdop
野犬寒鸦23 分钟前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
云姜.26 分钟前
java抽象类和接口
java·开发语言
xyq202436 分钟前
Pandas 安装指南
开发语言
xixixin_1 小时前
【JavaScript 】从 || 到??:JavaScript 空值处理的最佳实践升级
开发语言·javascript·ecmascript
玩大数据的龙威1 小时前
农经权二轮延包—各种地块示意图
python·arcgis
ZH15455891311 小时前
Flutter for OpenHarmony Python学习助手实战:数据库操作与管理的实现
python·学习·flutter