2017-03-19 11 views
1

特定のピクセルが黄色であるかどうかをプログラムでどのように判断するのですか?赤ですか?別の色ですか?RGB空間で異なる色を認識するための範囲は何ですか?

赤は通常RGB空間では(255,0,0)ですが、(230,0,0)も赤で表示されます。

赤、緑、青、黄、マゼンタ、シアン、黒、白の8つの主要な色にRGB空間を分割する標準はありますか?

答えて

1

:あなたはあなたの2次元配列を構築する。これにより

RGBで判断するのは複雑ですが、RGB値をHSVに変換することができます。これは、色相、彩度、および値によって色を表現するフォーマットです。これは、Photoshopのようなソフトウェアで特定の色を選択するために使用されるシステムです。

このシステムでは、スペクトルのすべての色が0〜360度の単一の浮動ポインタ番号(Hue)で表され、他の2つの数字はこの色のみを修正します(灰色か明るいかを示します)。

enter image description here

これは、あなたがこのイメージにRGBとCMYKの両方のシステム内のすべての主要な色を見ることができるように、それは簡単に、色を比較することができますが、正確に60度離れています。

ここでは、30と90の間のものは黄色、90と330の間のものは赤の音色などと簡単に分かります。

オレンジ、パープル、その他の主要な色ではない色の範囲を特定し、範囲を決定することさえできます。

黒と白について、値が低いかどうかを確認することで黒が表示されるかどうかを判断できます(例:0〜1の範囲で0.1未満)。高い値(0より大きい値)。9)と低い彩度(例えば、0.1未満)。正確な数字はありませんので、非常に暗い、または非常に明るい色が黒または白になるときは、自分で決めなければなりません。

0

RGBカラーモデルでは、緑、青の3つのチャンネルがあり、値は0〜255です(それを知っていた!)。

スペクトル全体をカバーするには、3つのチャネルを一定の価値オプションで結合します。

各チャンネルのx値のオプションがある場合、x * x * x = x^3の色の値が得られます。

0と255の場合、2^3 = 8色になります。

0(255/5)、1 *(255/5)、2 *(255/5)、3 * (255/5)、4 *(255/5)、5 *(255/5) 6^3 = 216色になります。

上記の範囲は、1チャンネルの1次元配列を作成する方法を示しています。 3つのチャンネルは同じなので、3つのチャンネルすべてに使用できます。

0、0、0

51、0、0

102、0、0

enter image description here

関連する問題