ホームページ >バックエンド開発 >Python チュートリアル >**Matplotlib でプロットすると OpenCV 画像の色が歪んで見えるのはなぜですか?**
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 サイトの他の関連記事を参照してください。