algorithm - 以编程方式检测颜色

标签 algorithm colors rgb

我能够从照片中捕获颜色的 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/

相关文章:

opencv - 在OpenCV中将RGB视频转换为灰度

c# - 确定何时释放一些内存的简单算法.Net

c++ - 在 C++ 中设置控件的颜色,Windows Store Metro App

java - 在android上实现自动颜色(photoshop工具)

java - 在java中给图片着色

android - 如何在 Android 上更快地将 RGB565 转换为 YUV420SP?

java - 给定一个数 N,找到最小的偶数 E 使得 E > N

c++ - 了解子集之和

c - 查找数组中前 n 个最大的元素

javascript - 使用 JS 进行 3D 渲染