首頁 >後端開發 >Python教學 >當我將 OpenCV 彩色影像載入到 matplotlib 中時,為什麼它們顯示不正確?

當我將 OpenCV 彩色影像載入到 matplotlib 中時,為什麼它們顯示不正確?

DDD
DDD原創
2024-10-25 03:35:291057瀏覽

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

為什麼 OpenCV 在載入時渲染彩色影像不正確?

當使用 Python OpenCV 載入彩色映像時,使用者可能會遇到以下情況:影像顯示的顏色不正確。出現此問題的原因是 OpenCV 和 matplotlib 使用不同的顏色順序約定。

了解顏色順序差異

OpenCV 使用BGR(藍-綠-紅)作為預設值影像的顏色順序,而matplotlib 使用RGB(紅-綠-藍)進行操作。這種差異會導致在 matplotlib 中顯示 OpenCV 載入的影像時顏色失真。

解決方案:將BGR 轉換為RGB

要解決此問題,請明確從BGR 轉換影像使用下列程式碼行將其轉換為RGB:

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

使用轉換後的影像進行顯示

影像轉換為RGB 後,您可以將其用於繪圖原始BGR 影像的:

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

透過採用此方法,影像將以準確的顏色顯示,與matplotlib 使用的傳統RGB 順序對齊。

以上是當我將 OpenCV 彩色影像載入到 matplotlib 中時,為什麼它們顯示不正確?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn