viaje Python - la imagen de caracteres dibujado con

La imagen de un personaje dibujado con

El segundo blog, un registro diario de aprender poco a poco.

resumen conocimiento

  1. bibliotecas de procesamiento de imágenes de terceros Python PIL
  2. valor de gris ecuación gray = 0.2126 * r + 0.7152 * g + 0.0722 * b
    señal de mapeo pequeño símbolo con el valor de gris local en el principio de la lista, con un gran valor de gris del extremo local de la lista de mapas.
  3. getPixel ((j, i)) para dar el color de un píxel, típicamente de retorno (r, g, b)
from PIL import Image

ascii_char = list ('"$%_&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-/+@<>i!;:,\^`.')
def get_char(r, b, g, alpha = 256):
    if alpha == 0:
        return ' '
    #计算每个像素点应该放入列表中哪个字符
    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
    unit = 256 / len(ascii_char)
    return ascii_char[int(gray / unit)]

def main():
    im = Image.open('boy.jpg')
    WIDTH , HEIGHT = 90,34
    im = im.resize((WIDTH,HEIGHT))
    #初试化文本
    txt = ""
    for i in range (HEIGHT):
        for j in range(WIDTH):
            txt +=  get_char(*im.getpixel((j,i)))
        txt += '\n' #遍历每行结束后切换到下一行
	#创建文本文件,将转换的字符串图画保存进去
    fo = open("pic_char.txt","w")
    fo.write(txt)
    fo.close()

if __name__ == '__main__':
    main()
Publicado seis artículos originales · ganado elogios 1 · visitas 161

Supongo que te gusta

Origin blog.csdn.net/weixin_45761659/article/details/102612678
Recomendado
Clasificación