Percanggahan Warna Pemuatan Imej OpenCV Diselesaikan
Apabila memuatkan imej berwarna menggunakan Python OpenCV untuk plot berikutnya, ia diperhatikan bahawa warna yang dipaparkan kelihatan herot . Isu ini timbul disebabkan oleh perwakilan ruang warna yang berbeza yang digunakan oleh OpenCV dan matplotlib.
Memahami Perbezaan Ruang Warna:
OpenCV menggunakan BGR (Blue-Green-Red ) ruang warna manakala matplotlib menggunakan ruang warna RGB (Red-Green-Blue). Ketidakserasian ini membawa kepada campuran warna apabila memaparkan imej ini.
Menyelesaikan Isu:
Untuk membetulkan masalah ini, adalah perlu untuk menukar imej kepada ruang warna RGB sebelum memplotkannya. Ini boleh dilakukan menggunakan fungsi penukaran OpenCV:
<code class="python">RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)</code>
Langkah ini memastikan bahawa warna dalam imej yang diplot dengan tepat mencerminkan imej input asal.
Contoh:
Coretan kod berikut menunjukkan penyelesaian ini:
<code class="python">import cv2 import matplotlib.pyplot as plt # Loading the image using OpenCV (BGR by default) img = cv2.imread('lena_caption.png') # Converting the image to RGB RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # Plotting the original and converted RGB image plt.subplot(1, 2, 1), plt.imshow(img) plt.title('Original Image (BGR)') plt.subplot(1, 2, 2), plt.imshow(RGB_img) plt.title('Converted RGB Image') plt.show()</code>
Dengan menggunakan teknik penukaran ini, kami boleh berjaya memuatkan dan memplot imej berwarna menggunakan OpenCV dan matplotlib tanpa mengalami sebarang herotan warna.
Atas ialah kandungan terperinci **Mengapa Imej OpenCV Saya Muncul Warna Herot Apabila Diplot dengan Matplotlib?**. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!