Python 25行代码实现图片转字符画

来源:互联网 发布:2017程序员笔记本推荐 编辑:程序博客网 时间:2024/05/29 03:35

在网上看到许多图片转字符画的代码,自己试着写了一个简单版本

  • 编译环境
    • python3
    • pyCharm2017.2.3
    • Pillow库 4.2.1

小埋:


文件路径:

这里写图片描述

  • 源代码:
from PIL import Imageascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")length = len(ascii_char)im = Image.open('sm.jpeg')im = im.resize((240, 240))    #重新调整宽高width, height = im.sizedef get_char(r, g, b, alpha=256):    #RGB转为list里的字符    if alpha == 0:        return ' '    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)    #RGB公式转灰度值    return ascii_char[int(gray * length / 256)]output = ""    #String字符串输出for i in range(height):    for j in range(width):        output += get_char(*im.getpixel((j, i)))    output += '\n'f = open('textPicture.txt', 'w')f.write(output)f.close()

效果图(部分):
这里写图片描述