我能够从照片中捕获颜色的 RGB 值,但我希望能够以编程方式检测该颜色的值是否为红色、橙色、黄色、绿色、蓝色、紫色、棕褐色或白色,或者黑色。
因此,我需要指定返回的 RGB 范围,例如,红色值...或蓝色...等等。我目前有类似的东西,但它不包括所有可能的 RGB 品种。
红色
R = 255,G <= 102,B = 0
R = 255,G = 0,B <= 150
橙色和黄色
R = 255,G >= 108 & <= 252,B = 0
R = 240,G = 255,B = 0
等等……
有谁知道如何获取任何 RGB 值并检测它是红色、橙色、黄色、绿色、蓝色、紫色、棕褐色、白色还是黑色的值?
最佳答案
由于人类感知的工作方式,根据 RGB 值计算颜色的视觉相似性很困难。一种流行的方法是 CIE 2000 .有一些库可以实现它,例如 python-colormath。然后,您可以简单地将颜色距离与您的每种颜色进行比较(您可以找到常见颜色名称的合理 RGB 值 here )并选择距离最小的那个。
关于algorithm - 以编程方式检测颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24965473/