标签: python python-2.7 opencv colors grayscale
我正在寻找一个想法/概念来解决我的问题。
如果表面的颜色不超过某个灰度,我需要检查。所以我想计算它的亮度。
问题是colors像这样#BCB0F5会给我一个可接受的灰度级,但表面的颜色看起来不应该是人眼的蓝色。它必须(对于人类的眼睛)看起来像某个灰度级(黑色和白色)。
#BCB0F5
如何解决此问题? 谢谢你的任何提示。
答案 0 :(得分:0)
在感性的颜色模型中,我们可以谈论特定颜色的亮度和色度(它的“亮度”和它的“质量”)。通过将您拥有的样本从RGB转换为CIELAB(通过ColorPy说),您可以过滤掉比您想要的灰色(L_sample> L_grey更亮的颜色)白点大于JND(例如sqrt(a_sample**2 + b_sample**2) > 2.3)
L_sample
L_grey
sqrt(a_sample**2 + b_sample**2) > 2.3