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

Wie man mit Python Bilder in Charaktergemälde umwandelt

王林
王林nach vorne
2023-05-17 14:34:061711Durchsuche

Das erste Problem besteht darin, Graustufen zu simulieren:

1
Gray = 0.2126 × R + 0.7152 × G + 0.0722 × B
# 🎜🎜 #
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
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)

如果想要输出到文件,可以在定义的部分,加上想要保存的文件名 OUTPUT = 'output.txt'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)
# 🎜🎜#
1
2

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen