ビットマップにロードする写真があります。いくつかのピクセルの色をチェックしています。しかし、写真では、光やその他の要因により、たとえば赤であるべきものがもう少しマロン、マゼンタ、オレンジなどになることがあります。Color の int 値を返すメソッド getPixel(x,y) を使用しています。この int 値が赤に似た色を定義する間隔内にあるかどうかを確認する可能性はありますか? それとも、定義や色の説明を見つけることができるウェブサイトか何かですか?
2 に答える
基本的にRGBは色の比較には向いていませんが、HSVという良いカラーモデルがあります。したがって、RGB 値を HSV に変換してから、色の色相値をしきい値と比較する必要があります。
たとえば、緑色の色相値は 120 ですが、90 ~ 150 の値を受け入れることができます。
このリンクは、カラーモデル間の変換方法を示しています: http://www.cs.rit.edu/~ncs/color/t_convert.html
HSV モデルの詳細: http://en.wikipedia.org/wiki/HSL_and_HSV
はい。http://developer.android.com/reference/android/graphics/Color.htmlから、Color
整数は 0xffRRGGBB の形式です。(ff は実際にはアルファ チャネル、つまり不透明度ですが、通常は不透明なので ff です)。
http://www.colourchart.net/のように、値を入力して色を確認できるサイトが多数あります。各色成分の外側の境界を選択できます。
Color.colorToHSV()
赤、緑、青の代わりに、色相、彩度、明るさの観点から境界を指定できるようにする which の使用を検討することもできます。これは、コンテキストでは論理的に簡単な場合があります。