检测表面的灰度级

Detect the gray level of a surface

我正在寻找 idea/conception 来解决我的问题。

我需要CHECK 如果表面的颜色不超过特定的灰度级。所以我想计算它的亮度。

问题是 colors 像这个 #BCB0F5 会给我一个可以接受的灰度级,但是对于人眼来说表面的颜色不能看起来那么蓝。它必须看起来(对于人眼)就像某个灰度级(黑色和白色)。

我该如何解决这个问题? 感谢您的任何提示。

在颜色的感知模型中,我们可以谈论特定颜色的亮度和色度("brightness" 和 "quality")。通过将您拥有的样本从 RGB 转换为 CIELAB(通过 ColorPy say), you can filter out colours which are brighter than your desired grey (L_sample > L_grey) and whose distance from the white point are greater than a JND(例如 sqrt(a_sample**2 + b_sample**2) > 2.3