Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menukar Imej PIL kepada Tatasusunan NumPy untuk Manipulasi Piksel yang Lancar?

Bagaimana untuk Menukar Imej PIL kepada Tatasusunan NumPy untuk Manipulasi Piksel yang Lancar?

Linda Hamilton
Lepaskan: 2024-11-24 08:59:12
asal
207 orang telah melayarinya

How to Convert PIL Images to NumPy Arrays for Seamless Pixel Manipulation?

Menukar Imej PIL kepada Tatasusunan NumPy untuk Manipulasi Piksel Dipertingkat

Soalan:

Bagaimana saya boleh menukar Imej PIL dengan cekap ke dalam tatasusunan NumPy untuk transformasi mengikut piksel yang lancar? Semasa menukar daripada Imej PIL kepada tatasusunan NumPy adalah mudah menggunakan numpy.array(pic.getdata()), operasi terbalik untuk memuatkan semula tatasusunan yang diubah suai sebagai Imej PIL tidak begitu intuitif.

Jawapan:

Kunci untuk berjaya mengemas kini Imej PIL daripada tatasusunan NumPy yang diubah suai terletak dalam memahami format data yang diharapkan. Pada mulanya, apabila mendapatkan semula tatasusunan daripada imej menggunakan numpy.array(pic.getdata()), matriks yang terhasil ialah 2 dimensi (baris dan lajur). Walau bagaimanapun, memanipulasi piksel dengan cekap memerlukan tatasusunan 3 dimensi dengan baris, lajur dan nilai RGB.

Penyelesaian:

Untuk menyelesaikan isu ini, gunakan langkah berikut:

  1. Tukar Imej PIL kepada NumPy Array: Gunakan numpy.array(pic) untuk mendapatkan tatasusunan NumPy 3 dimensi dengan format yang diingini.
  2. Edit Piksel dalam Tatasusunan NumPy: Lakukan pengubahsuaian mengikut piksel yang diingini pada tatasusunan NumPy.
  3. Kemas kini Tatasusunan NumPy Diubahsuai dalam PIL Imej: Untuk menggantikan piksel asal dengan nilai yang diubah suai, gunakan pic.putdata(pix) atau buat Imej PIL baharu menggunakan Image.fromarray(pix).

Nota Tambahan :

  • Pastikan sebarang pengubahsuaian pada tatasusunan NumPy dibuat dalam julat warna yang betul (cth., 0-255 untuk imej RGB 8-bit).
  • Menukar tatasusunan NumPy kepada Imej PIL mungkin melibatkan pembentukan semula atau meratakan tatasusunan agar sesuai dengan format yang dijangkakan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Imej PIL kepada Tatasusunan NumPy untuk Manipulasi Piksel yang Lancar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan