Python实现图片转字符画工具:原理与代码解析

林见深
林见深
发布时间:2026-10-13 | 3人浏览过
原创

本文介绍使用Python将图片转换为字符画的完整实现过程。通过PIL库读取图像并调整尺寸,利用灰度值与预设字符集的映射关系生成字符序列,最终输出为文本文件。包含完整源码及运行示例,适合Python初学者参考学习。

Python图片转字符画工具实现

本文分享了一个使用Python编写的图片转字符画小工具的具体实现代码,供读者参考学习。

核心代码与配置说明


from PIL import Image

#灰度与字符的映射
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")

WIDTH=int(input("请输入你想输出的宽度:"))
HEIGHT=int(input("请输入你想输出的高度:"))
INPUT=r'D:\Download\ascii_dora.png'
OUTPUT=r'D:\Download\output.txt'

def get_char(r,g,b,alpha=256):
  if alpha==0:
    return ' '
  gray = 0.2126 * r + 0.7152 * g + 0.0722 * b
  length=len(ascii_char)
  unit=(256+1)/length
  return ascii_char[int(gray/unit)]

im=Image.open(INPUT)
im=im.resize((WIDTH,HEIGHT),Image.NEAREST)

txt=''

for i in range(HEIGHT):
  for j in range(WIDTH):
    txt += get_char(*im.getpixel((j,i)))
  txt += '\n'

with open(OUTPUT,'w') as f:
  f.write(txt)

运行效果展示

程序运行后的效果展示如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表