图像中的颜色

3
我有一些正方形,每个正方形上都有4种颜色(红色、绿色、蓝色等)。我想编写一个程序,通过网络摄像头识别这些颜色,将它们存储在文本文件或其他地方,并且当它再次看到相同的正方形时进行识别。
我尝试为每种颜色设置RGB限制,并且当程序处理图片时,将每个正方形的RGB与我的限制进行比较。但问题似乎是在不同的环境(光线多或少)下,算法会失败。它可能会把橙色看成绿色,或者无法识别红色或其他类似的问题。
有没有更好的比较颜色的方法,或者我应该继续尝试找到更好的限制条件呢?
谢谢!

你确定自动白平衡已经开启了吗? - H H
图像的颜色相对于环境中灯光的颜色而言。正如@HenkHolterman所说,要么使用白平衡来帮助处理,要么需要采样白色并使用它来预处理图像以纠正颜色。 - Reactgular
1个回答

2
将RGB转换为HSV,作为初始步骤(它是图像处理/比较操作的更好的颜色空间 - 有关详细信息,请参见this,或有关此颜色空间的更一般信息,请参见Wikipedia条目。)
RGB和HSV之间的转换很简单,并且您可以通过快速搜索找到许多示例公式和代码。然后,仅使用色调通道进行比较,因为前面链接中所述的原因。您应该在不同照明条件下获得更好的结果。

非常感谢提供的信息!RGB到HSV的转换似乎对我很有帮助!@HenkHolterman,之前从未听说过自动白平衡,但我通过谷歌搜索了解到了一些新的项目想法! - relysis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接