首頁 >後端開發 >Python教學 >**為什麼我的 OpenCV 影像在使用 Matplotlib 繪製時出現顏色失真?

**為什麼我的 OpenCV 影像在使用 Matplotlib 繪製時出現顏色失真?

Linda Hamilton
Linda Hamilton原創
2024-10-24 19:32:301111瀏覽

**Why Do My OpenCV Images Appear Color Distorted When Plotted with Matplotlib?**

OpenCV 影像載入顏色差異已解決

使用 Python OpenCV 載入彩色影像進行後續繪圖時,觀察到顯示的顏色出現扭曲。出現此問題的原因是 OpenCV 和 matplotlib 使用不同的色彩空間表示。

了解色彩空間差異:

OpenCV 採用BGR(藍-綠-紅) ) 色彩空間,而matplotlib 使用RGB(紅-綠藍)色彩空間。這種不相容性會導致顯示這些影像時出現顏色混合。

解決問題:

要修正此問題,需要將影像轉換為繪製先前的 RGB 色彩空間。這可以使用 OpenCV 的轉換函數來完成:

<code class="python">RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)</code>

此步驟可確保繪製影像中的顏色準確反映原始輸入影像。

範例:

以下程式碼片段示範了此解決方案:

<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>

透過採用此轉換技術,我們可以使用OpenCV 和matplotlib成功載入和繪製彩色影像,而不會遇到任何顏色失真。

以上是**為什麼我的 OpenCV 影像在使用 Matplotlib 繪製時出現顏色失真?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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