3

RGB値で「茶色」の色を分離しようとしています。1つの茶色だけでなく、褐色、スエード、汚れなど、茶色として認識される幅広い色.

これを行う方法についてのアイデアはありますか?赤が 128 未満、緑が 70 ~ 138、青が 128 未満の場合、茶色に見えるのではないかと考えています。それらの線に沿った何か。

4

2 に答える 2

2

本当に単純なヒューリスティックは、pythony擬似コードのようなものになります

def isBrown(red, green, blue):

  # Kind of maximum lightness
  if blue > parameter_1
    return False

  # how green or red tinted can it be
  if absolute_value(red - green) > parameter_2:
    return False

  # Light brown is just yellow or orange
  if maximum_of(red, green) > parameter_3:
    return False
  else:
    return True

うまく機能するまで、パラメーター1から3を調整します。おそらくに置き換えif absolute_value(red - green) > parameter_2:if absolute_value(red - green*parameter_2b) > parameter_2a:、に応じてより緑がかったまたは赤みがかったものが選択されるようにしparameter_2bます。おそらくmaximum_of別のものに変更します。などなど。

于 2012-10-17T18:35:38.450 に答える
1

それは本当にあなたが茶色だと考えるものに依存します. これは、被験者間の変動性が高く、文脈の影響が強い色のカテゴリです (隣の色によって見え方が変わります)。

次のようなものを使用する必要があると考えてください: http://www.colorpicker.com/決定した色の形を見て、それをアルゴリズムで表現する方法を考え出します。

于 2012-10-17T03:32:49.840 に答える