Rumah > Artikel > pembangunan bahagian belakang > Berikut ialah beberapa tajuk berasaskan soalan yang sesuai dengan kandungan teks yang anda berikan: * **Mengapa Imej OpenCV Saya Nampak Berbeza Apabila Diplot dengan Matplotlib?** * **Mengapa Terdapat Percanggahan Warna Apabila
Percanggahan Penukaran Warna OpenCV dalam Pemuatan Imej
Apabila cuba memuatkan dan memaparkan imej berwarna menggunakan Python OpenCV, pengguna mungkin menghadapi sisihan warna yang tidak dijangka dalam imej yang terhasil. Isu ini timbul disebabkan oleh perbezaan dalam skema susunan warna lalai antara OpenCV dan pustaka Matplotlib.
Penerangan Masalah
Kod yang disediakan oleh pengguna melibatkan pemuatan warna imej menggunakan fungsi cv2.imread() OpenCV dan menukarnya kepada skala kelabu menggunakan cv2.cvtColor(). Selepas itu, kedua-dua imej asal dan imej skala kelabu diplot menggunakan fungsi plt.imshow() Matplotlib. Walaupun menggunakan bendera IMREAD_COLOR, imej yang diplot mempamerkan warna yang herot.
Isu Asas
Secara lalai, OpenCV menggunakan pesanan warna Biru-Hijau-Merah (BGR) untuk imej, manakala Matplotlib menggunakan Red-Green-Blue (RGB). Apabila imej yang dimuatkan oleh OpenCV dipaparkan dalam Matplotlib, saluran diterbalikkan, membawa kepada percanggahan warna.
Penyelesaian
Untuk menyelesaikan isu ini, pengguna boleh secara eksplisit tukar imej BGR yang dimuatkan daripada OpenCV kepada RGB menggunakan fungsi cv2.cvtColor(). Imej RGB yang ditukar kemudiannya boleh digunakan untuk memplot dalam Matplotlib.
<code class="python">import cv2 import matplotlib.pyplot as plt # Load image in BGR img = cv2.imread('lena_caption.png', cv2.IMREAD_COLOR) # Convert BGR to RGB RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # Plot RGB image in Matplotlib plt.imshow(RGB_img) plt.title('Original Image in RGB') plt.xticks([]), plt.yticks([]) plt.show()</code>
Atas ialah kandungan terperinci Berikut ialah beberapa tajuk berasaskan soalan yang sesuai dengan kandungan teks yang anda berikan: * **Mengapa Imej OpenCV Saya Nampak Berbeza Apabila Diplot dengan Matplotlib?** * **Mengapa Terdapat Percanggahan Warna Apabila. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!