我正在寻找解决问题的想法/构想。
如果表面的颜色不超过特定的灰度,则需要检查。所以我想计算它的亮度。
问题是像这样的#BCB0F5
的colors将为我提供可接受的灰度,但是对于人眼,表面的颜色一定不能看起来像蓝色。它(对于人眼)必须看起来像一定的灰度(黑白)。
我该如何解决这个问题?
谢谢您的提示。
最佳答案
在颜色的感知模型中,我们可以谈论特定颜色的亮度和色度(即“亮度”和“质量”)。通过将您拥有的样本从RGB转换为CIELAB(通过ColorPy表示),您可以过滤出比所需的灰度色(L_sample
> L_grey
)更明亮,并且距白点的距离大于JND(例如sqrt(a_sample**2 + b_sample**2) > 2.3
)的颜色。
关于python - 检测表面的灰度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28714895/