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

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

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-24 18:11:19630semak imbas

Here are a few question-based titles that fit the content of your provided text:

* **Why Does My OpenCV Image Look Different When Plotted with Matplotlib?** 
* **Why Is There a Color Discrepancy When Using OpenCV and Matplotlib Together?**
* **How to Cor

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!

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