Heim > Backend-Entwicklung > Python-Tutorial > Was ist der Code zum Konvertieren von Python-Bildern in Charakterzeichnungen?

Was ist der Code zum Konvertieren von Python-Bildern in Charakterzeichnungen?

coldplay.xixi
Freigeben: 2023-01-04 09:38:37
Original
5178 Leute haben es durchsucht

Python-Bild-zu-Zeichen-Zeichnungscode: Berechnen Sie zuerst den Graustufenwert, der der Farbe des Bildes entspricht, und erhalten Sie dann das Zeichen, das jedem Pixel im Bild entspricht, aus dem Zeichensatz basierend auf dem Graustufenwert. Der Code lautet [args = parser .parse_args() 】.

Was ist der Code zum Konvertieren von Python-Bildern in Charakterzeichnungen?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Python-Version 3.9, DELL G3-Computer. Diese Methode ist für alle Computermarken geeignet.

Verwandte kostenlose Lernempfehlungen: Python-Video-Tutorial

1. Berechnen Sie den Graustufenwert, der der Farbe des Bildes entspricht:

gray = 0.2126 * r + 0.7152 * g + 0.0722 * b
Nach dem Login kopieren

2 Zeichen im Bild aus dem Zeichensatz Zeichen entsprechend Pixel

Code

# !/usr/bin/env python
# -*- coding:utf-8 -*-
from PIL import Image
import argparse
#命令行输入参数处理
parser = argparse.ArgumentParser()
parser.add_argument('file')   #输入文件
parser.add_argument('-o', '--output')  #输出文件
parser.add_argument('--width', type = int, default = 50) #输出字符画宽
parser.add_argument('--height', type = int, default = 50) #输出字符画高
#获取参数
args = parser.parse_args()
IMG = args.file
WIDTH = args.width
HEIGHT = args.height
OUTPUT = args.output
# 字符画使用的字符集
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`&#39;. ")
def get_char(r,g,b,alpha = 256):
  """将256灰度映射到70个字符上"""
  if alpha == 0:
    return &#39; &#39;
  length = len(ascii_char)
  # 计算灰度的公式
  gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
  unit = (256.0 + 1)/length
  index=int(gray/unit)
  return ascii_char[index]
if __name__ == &#39;__main__&#39;:
  im = Image.open(IMG)
  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 += &#39;\n&#39;
  print(txt)
  #字符画输出到文件
  if OUTPUT:
    with open(OUTPUT,&#39;w&#39;) as f:
      f.write(txt)
  else:
    with open("output.txt",&#39;w&#39;) as f:
      f.write(txt)z
Nach dem Login kopieren

Laufergebnisse

Was ist der Code zum Konvertieren von Python-Bildern in Charakterzeichnungen?

Das obige ist der detaillierte Inhalt vonWas ist der Code zum Konvertieren von Python-Bildern in Charakterzeichnungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage