ホームページ  >  記事  >  バックエンド開発  >  **Matplotlib でプロットすると OpenCV 画像の色が歪んで見えるのはなぜですか?**

**Matplotlib でプロットすると OpenCV 画像の色が歪んで見えるのはなぜですか?**

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-24 19:32:30985ブラウズ

**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 を使用してカラー イメージを正常に読み込んでプロットできます。

以上が**Matplotlib でプロットすると OpenCV 画像の色が歪んで見えるのはなぜですか?**の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。