Rumah > pembangunan bahagian belakang > Tutorial Python > Cara menggunakan Python untuk menukar gambar menjadi lukisan watak

Cara menggunakan Python untuk menukar gambar menjadi lukisan watak

王林
Lepaskan: 2023-05-17 14:34:06
ke hadapan
1668 orang telah melayarinya

Pertama sekali, terdapat masalah, iaitu untuk mensimulasikan skala kelabu Berikut adalah formula:

1
Salin selepas log masuk
Gray = 0.2126 × R + 0.7152 × G + 0.0722 × B
Salin selepas log masuk

Ini mudah dikendalikan. Sudah tentu, dalam mod RGB, walaupun julat warna 256x256x256 ditukar kepada julat skala kelabu 256, aksara masih tidak berada dalam surat-menyurat satu dengan satu. Kita boleh menyelesaikan masalah ini dengan menggunakan satu aksara untuk sepadan dengan berbilang skala kelabu.

Ingat untuk memasang perpustakaan PIL terlebih dahulu, termasuk:

Jika Python 2, jalankan pip install PIL.

Jika Python 3, jalankan pip install pillow.

Mari kita terus ke kod:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Salin selepas log masuk
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)
Salin selepas log masuk

Jika anda ingin mengeluarkan ke fail, anda boleh menambah nama fail yang ingin anda simpan dalam bahagian definisi OUTPUT = &#39;output.txt&#39; dan kemudian pada akhirnya Tulis dalam:

1
2
Salin selepas log masuk
with open(OUTPUT, &#39;w&#39;) as f:
    f.write(txt)
Salin selepas log masuk

Akhirnya, kita dapat ini:

Cara menggunakan Python untuk menukar gambar menjadi lukisan watak

Atas ialah kandungan terperinci Cara menggunakan Python untuk menukar gambar menjadi lukisan watak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan