日常の開発とコミュニケーションでは、RGB(赤、緑、青)に従って画像のカラーチャネルを配置することに慣れています。退屈して退屈していて、畳み込みニューラルネットワークモデルを再生しているときに、OpenCVがこの順序で画像を読み取っていないことがわかりました。OpenCVがRGBではなくBGRを使用する理由を奇妙に検索してください。このブログを参照してください:なぜOpenCVの使用BGRカラーフォーマットを行います。
このブログ投稿を注意深く読んでください。著者はmatplotlib
画像で読み取った明示的なOpenCV を使用しており、画像の表示が非常に奇妙であることがわかりました。
元の画像は次のとおりです。
OpenCVを使用してmatplotlibに表示された結果を読み取る
著者は、OpenCVの著者が会議でRGBではなくBGR形式を使用した理由を尋ねました。彼が得た答えは歴史的な理由で要約されました。この記事では、この事実を説明するために非常に面白いストーリーを使用しています。なぜ米国の標準のレールゲージが4フィート8.5インチなのかです。このストーリーに興味がある人は、元のブログ投稿を読むことができます。
では、歴史的な理由は何
ですか?初期の開発者がBGRをカラースペースとして使用した理由は、当時のBGR形式がカメラメーカーとソフトウェアプロバイダーの間でより人気があったためです。例えば。Windowsでは、COLORREFを使用してカラー値を指定する場合、BGR形式0x00bbggrrを使用します。