3

我希望通过 rgb 值来隔离“棕色”颜色。不仅仅是一种棕色,而是被认为是棕色的各种颜色 - 棕褐色、绒面革、污垢等。

关于如何做到这一点的任何想法?我在想,如果红色小于 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 回答