ホームページ >バックエンド開発 >Python チュートリアル >OpenCV カラー イメージを matplotlib に読み込むと正しく表示されないのはなぜですか?

OpenCV カラー イメージを matplotlib に読み込むと正しく表示されないのはなぜですか?

DDD
DDDオリジナル
2024-10-25 03:35:291050ブラウズ

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

ロード時に OpenCV がカラー イメージを正しくレンダリングしないのはなぜですか?

Python OpenCV を使用してカラー イメージをロードすると、結果の画像が間違った色で表示されます。この問題は、OpenCV と matplotlib で使用される色の順序規則が異なるために発生します。

色の順序の違いを理解する

OpenCV はデフォルトとして BGR (青-緑-赤) を採用します。 matplotlib は RGB (赤-緑-青) で動作しますが、画像の色の順序は異なります。この不一致により、OpenCV によってロードされた画像を matplotlib で表示するときに色の歪みが発生します。

解決策: 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 中国語 Web サイトの他の関連記事を参照してください。

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