質問

理解していRGB---値(0-255)赤(0-255)、緑(0-255)青色にカラーです。

これはBGRカラースペース?

どう違うのRGBカラースペース?

役に立ちましたか?

解決

RGBは、赤、緑、青の略です。ほとんどの場合、RGBの色は、(32ビットおよび24ビットのフォーマットでバイト)、グリーン少なくとも第三の少なくとも1つの第2、及び赤

BGRは、領域の順序が逆転している以外、同じです。赤色が最下位領域、グリーン秒(静止画)、および青三分の一を占めている。

いくつかのプラットフォーム(例えば Gamegear の)BGRモデルが使用されます。しかし、ほとんどのため、お使いのコンピュータのように、RGBが使用されている[出典-必要](BGRは、互換性のために多くのグラフィックAPI年代によってサポートされていますが)。私はの理由の正確それが使われているかわかりません。おそらく歴史ます。

例:RGB六角色(#RRGGBB)として読まれたとき第3の領域は、(!番号は右から左に読み出される)FF(最大値、フルカラー)と他の二つの領域であるため、#1 FF0000は、赤色に純粋です00(最小値、色なし)。 #FF0000のは、BGRの六角色として読み取られた場合、それは純粋な青になると思います。

他のヒント

その程度のエンディアン

RGBはバイトオーダーです。 (アルファが一般的に含まれているとして、または4)しかし、ほとんどのバニラグラフィックライブラリの意図的な実装の選択肢は、彼らが3で、内部符号なし32ビット整数として色を扱うことである整数にパックされた部品ます。

(x86など)リトルエンディアンマシン整数0x01020304は、実際には0x04030201としてメモリに格納されます。こうして0x00BBGGRRは0xRRGGBB00として保存されます!

長期BGR(およびBGRAなど)が直接、個別の色成分にアクセスしているあなたのコードになるように、グラフィックスライブラリは、整数は論理的に順序付けられている方法を説明している漏れやすい抽象化されるように、より読みます。

ビットマップは、通常お使いのプロセッサよりも、ハードウェア、および従来のディスプレイアダプタ、たとえば、によって指定されたエンディアンの複数の部分によってアクセスされることを忘れないでください、必ずしもあなたのCPUのエンディアンと同じではありません。どのような順序フィールドを抽出するCPUのためのピクセル内のチャネルにその何の問題を操作しないのレベルで。ラベリングの事を理解して、純粋にプログラマます。

このやり方についての色成分として存在しています。のためのBGRのBGRBGRBGRBGR...、RGBのRGBRGBRGB...のためのBGR、デフォルトのためのOpenCVでは以下のようになっています:

enter image description here のOpenCV書 どのように画像マトリクスのメモリに保存されている?)

注その他の回答をされる色ている以上のものでも意義が実際にはendiannessきます。梱包ライン注文におけるコンポーネントの符号なしintる。g、実際に依存ソフトウェアの図書館がされています。しかし、図書館のendiannesの機、BGRピクセルのbyteアドレスはインフレーションの色成分の一以下のG、および二以R(およびRGBでは、その他の方法にする。

それはちょうどRGBは、より厳密に制御ために、エンディアンに依存しないのです。ご使用の環境のエンディアンを知っていれば、それらの間の変換は簡単です。

BGRは下位アドレス指定8ビットが青色である24ビット表現であり、8は緑色であり、8より高いアドレス指定赤色である。

次に、宛て

RGB値は、RGBのように記述される傾向にある(R、G、B)は、R / G / Bの値は0〜255包括的またはRR / GG / BBは8ビット進値である#RRGGBB、ようにされている場合。私が見てきたすべてのBGR値は0167772150xffffff)間の単純な整数になる傾向があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top