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
Lepaskan: 2024-10-24 18:11:19
asal
630 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!