Heim > Backend-Entwicklung > Python-Tutorial > Wie man mit Python Bilder in Charaktergemälde umwandelt

Wie man mit Python Bilder in Charaktergemälde umwandelt

王林
Freigeben: 2023-05-17 14:34:06
nach vorne
1669 Leute haben es durchsucht

Das erste Problem besteht darin, Graustufen zu simulieren:

1
Nach dem Login kopieren
Gray = 0.2126 × R + 0.7152 × G + 0.0722 × B
Nach dem Login kopieren
# 🎜🎜 #
Das ist es. Obwohl im RGB-Modus der Farbbereich von 256 x 256 x 256 in einen Graustufenbereich von 256 umgewandelt wird, stimmen die Zeichen natürlich immer noch nicht eins zu eins überein. Wir können dieses Problem lösen, indem wir ein Zeichen verwenden, um mehreren Graustufen zu entsprechen.

Denken Sie daran, zuerst die PIL-Bibliothek zu installieren, einschließlich:

Wenn es Python 2 ist, führen Sie pip install PIL aus.

pip install PIL

如果是Python 3,运行 pip install pillow

接下来直接上代码吧:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Nach dem Login kopieren
from PIL import Image
#设置显示的字符集
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`&#39;. ")    
WIDTH = 130
HEIGHT = 50
def get_char(r,g,b,alpha = 256):
    if alpha == 0:
        return &#39; &#39;
    length = len(ascii_char)
    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
    unit = (255.0 + 1)/length
    return ascii_char[int(gray/unit)]
if __name__ == &#39;__main__&#39;:
    img = "E:/WindowsDocuments/G7/Desktop/1.png"
    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)
Nach dem Login kopieren

如果想要输出到文件,可以在定义的部分,加上想要保存的文件名 OUTPUT = &#39;output.txt&#39;Wenn es Python 3 ist, führen Sie pip install Pillow aus.

Kommen wir gleich zum Code:
with open(OUTPUT, &#39;w&#39;) as f:
    f.write(txt)
Nach dem Login kopieren
# 🎜🎜#
1
2
Nach dem Login kopieren

Wenn Sie in eine Datei ausgeben möchten, können Sie den Dateinamen, den Sie speichern möchten, im Definitionsteil hinzufügen OUTPUT = 'output.txt' code> und schreibe ihn dann am Ende ein: <p><img src="https://img.php.cn/upload/article/000/465/014/168430524918227.png" alt="Wie man mit Python Bilder in Charaktergemälde umwandelt"></p>#🎜🎜##🎜🎜#rrreee#🎜🎜##🎜🎜#rrreee#🎜🎜##🎜🎜# #🎜🎜## 🎜🎜##🎜🎜#Endlich haben wir das: #🎜🎜##🎜🎜##🎜🎜##🎜🎜#

Das obige ist der detaillierte Inhalt vonWie man mit Python Bilder in Charaktergemälde umwandelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
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