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

示例

相关推荐
Fairy_sevenseven4 分钟前
【二十八】【QT开发应用】模拟WPS Tab
开发语言·qt·wps
蜡笔小新星12 分钟前
Python Kivy库学习路线
开发语言·网络·经验分享·python·学习
凯子坚持 c12 分钟前
C语言复习概要(三)
c语言·开发语言
无限大.24 分钟前
c语言200例 067
java·c语言·开发语言
余炜yw26 分钟前
【Java序列化器】Java 中常用序列化器的探索与实践
java·开发语言
篝火悟者27 分钟前
问题-python-运行报错-SyntaxError: Non-UTF-8 code starting with ‘\xd5‘ in file 汉字编码问题
开发语言·python
Death20029 分钟前
Qt 中的 QListWidget、QTreeWidget 和 QTableWidget:简化的数据展示控件
c语言·开发语言·c++·qt·c#
六点半88831 分钟前
【C++】速通涉及 “vector” 的经典OJ编程题
开发语言·c++·算法·青少年编程·推荐算法
惜.己31 分钟前
javaScript基础(8个案例+代码+效果图)
开发语言·前端·javascript·vscode·css3·html5
niu_sama34 分钟前
基于muduo库函数实现protobuf协议的通信
开发语言·qt