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
Linda Hamiltonasal
2024-11-24 08:59:12158semak imbas

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!

Kenyataan:
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