以下是一些適合您提供的文字內容的基於問題的標題: * **為什麼使用 Matplotlib 繪製時我的 OpenCV 影像看起來不同? * **為什麼會出現顏色差異

Mary-Kate Olsen
發布: 2024-10-24 18:11:19
原創
630 人瀏覽過

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

影像載入中的OpenCV 色彩轉換差異

嘗試使用Python OpenCV 載入和顯示彩色影像時,使用者可能會遇到意外的顏色偏差在生成的圖像中。出現此問題的原因是 OpenCV 和 Matplotlib 庫之間的預設顏色排序方案不同。

問題描述

使用者提供的程式碼涉及載入顏色使用OpenCV 的cv2.imread() 函數讀取影像,並使用cv2.cvtColor() 將其轉換為灰度。隨後,使用 Matplotlib 的 plt.imshow() 函數繪製原始影像和灰階影像。儘管使用了 IMREAD_COLOR 標誌,繪製的影像仍呈現扭曲的色彩。

潛在問題

預設情況下,OpenCV 使用藍-綠-紅 (BGR) 顏色排序影像,而 Matplotlib 使用紅-綠-藍 (RG​​B)。 OpenCV載入的影像顯示在Matplotlib中時,通道顛倒,導致顏色不一致。

解決方案

要解決此問題,使用者可以明確使用 cv2.cvtColor() 函數將從 OpenCV 載入的 BGR 映像轉換為 RGB。轉換後的 RGB 影像可用於在 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>
登入後複製

以上是以下是一些適合您提供的文字內容的基於問題的標題: * **為什麼使用 Matplotlib 繪製時我的 OpenCV 影像看起來不同? * **為什麼會出現顏色差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!