Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menukar Imej PIL kepada Array NumPy dan Kembali?
Masalah:
Bagaimana anda boleh menukar Imej PIL kepada tatasusunan NumPy kepada melakukan transformasi mengikut piksel yang lebih pantas, dan kemudian muatkannya semula ke dalam Imej PIL selepas mengubah suai tatasusunan?
Jawapan:
Penukaran kepada Tatasusunan NumPy:
Untuk menukar Imej PIL kepada tatasusunan NumPy, gunakan kod berikut:
import numpy as np from PIL import Image pic = Image.open("foo.jpg") pix = np.array(pic)
Ini akan mencipta susunan bentuk 3D (tinggi, lebar, saluran) yang mengandungi nilai piksel.
Penukaran Kembali ke Imej PIL:
Untuk memuatkan tatasusunan yang diubah suai kembali ke dalam Imej PIL, terdapat pelbagai cara :
1. Menggunakan Image.putdata():
Tukar tatasusunan kembali kepada jujukan tuple:
data = list(tuple(pixel) for pixel in pix) pic.putdata(data)
2. Menggunakan Image.fromarray() (PIL 1.1.6 atau lebih tinggi):
Hanya tetapkan tatasusunan yang diubah suai pada imej:
pic = Image.fromarray(pix)
Nota Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk Menukar Imej PIL kepada Array NumPy dan Kembali?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!