ホームページ >バックエンド開発 >Python チュートリアル >OpenCV カラー イメージを 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 サイトの他の関連記事を参照してください。