Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa imej warna OpenCV saya dipaparkan secara tidak betul apabila saya memuatkannya dalam matplotlib?

Mengapa imej warna OpenCV saya dipaparkan secara tidak betul apabila saya memuatkannya dalam matplotlib?

DDD
DDDasal
2024-10-25 03:35:291057semak imbas

Why are my OpenCV color images displaying incorrectly when I load them in matplotlib?

Mengapa OpenCV Memaparkan Imej Warna Tidak Betul Semasa Memuatkan?

Apabila memuatkan imej berwarna menggunakan Python OpenCV, pengguna mungkin menghadapi keadaan yang terhasil paparan imej dengan warna yang salah. Isu ini timbul disebabkan oleh konvensyen susunan warna yang berbeza yang digunakan oleh OpenCV dan matplotlib.

Memahami Perbezaan Susunan Warna

OpenCV menggunakan BGR (Blue-Green-Red) sebagai lalainya susunan warna untuk imej, manakala matplotlib beroperasi dengan RGB (Red-Green-Blue). Percanggahan ini membawa kepada herotan warna apabila memaparkan imej yang dimuatkan oleh OpenCV dalam matplotlib.

Penyelesaian: Tukar BGR kepada RGB

Untuk menyelesaikan isu ini, tukar imej secara eksplisit daripada BGR kepada RGB menggunakan baris kod berikut:

RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

Menggunakan Imej Ditukar untuk Paparan

Setelah imej ditukar kepada RGB, anda boleh menggunakannya untuk merancang sebaliknya daripada imej BGR asal:

plt.subplot(1,2,i+1),plt.imshow(RGB_img,'gray')

Dengan mengikuti pendekatan ini, imej akan dipaparkan dengan warna yang tepat, sejajar dengan susunan RGB konvensional yang digunakan oleh matplotlib.

Atas ialah kandungan terperinci Mengapa imej warna OpenCV saya dipaparkan secara tidak betul apabila saya memuatkannya dalam matplotlib?. 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