我希望通过 rgb 值来隔离“棕色”颜色。不仅仅是一种棕色,而是被认为是棕色的各种颜色 - 棕褐色、绒面革、污垢等。
关于如何做到这一点的任何想法?我在想,如果红色小于 128,绿色在 70 到 138 之间,蓝色小于 128,那么它看起来是棕色的。类似的东西。
在 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
别的东西。等等等等
这真的取决于你认为什么是棕色的。这是一个颜色类别,具有相当高的主体间可变性和强烈的上下文影响(旁边的颜色会改变它的外观)。
认为您需要使用以下内容:http: //www.colorpicker.com/并查看您决定的颜色的形状,然后找出如何通过算法表达。