我希望用rgb值隔离“棕色”颜色。不只是1种棕色,而是广泛的颜色,被认为是棕褐色,绒面革,污垢等。
关于如何做到这一点的任何想法?我想也许如果Red小于128,而Green在70到138之间,蓝色小于128,而不是看起来是棕色。这些方面的东西。
答案 0 :(得分: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
更改为其他内容。等等。
答案 1 :(得分:1)
这真的取决于你认为是棕色的。它是一种颜色类别,它具有相当高的主体间可变性和强烈的背景效果(旁边的颜色会改变它的外观)。
认为你需要使用这样的东西:http://www.colorpicker.com/并查看你决定的颜色的形状,然后找出如何通过算法表达。