【问题标题】:Colors from image图片中的颜色
【发布时间】:2013-05-28 18:32:44
【问题描述】:

我有一些正方形,每个上面有 4 种颜色(红色、绿色、蓝色等)。 我想制作一个可以识别颜色的程序(通过网络摄像头),将它们存储在文本文件或其他东西中,然后,如果它再次看到相同的方块来识别它。 我尝试为每种颜色设置一些 RGB 限制,并在程序处理图片时将每个正方形的 RGB 与我的限制进行比较。

我似乎遇到的问题是,在不同的环境(或多或少的光线)中,算法失败了。它要么将橙色视为绿色,要么无法识别红色或其他类似问题。

有没有更好的方法来比较颜色,还是我应该继续尝试为每种颜色找到更好的限制?

谢谢!

【问题讨论】:

  • 您确定自动白平衡已开启?
  • 图像的颜色与环境中的灯光颜色有关。正如@HenkHolterman 所说,要么白平衡有帮助,要么您需要对白色进行采样并使用它来预处理图像以校正颜色。

标签: c# image-processing


【解决方案1】:

从 RGB 转换为 HSV,作为初始步骤(它是用于图像处理/比较操作的更好色彩空间 - 有关详细信息,请参阅 this,或有关此色彩空间的更多一般信息,请参阅 Wikipedia entry。)

RGB 和 HSV 之间的转换很简单,并且有大量的示例公式和代码,您可以通过快速搜索找到。之后,仅使用 Hue 通道进行比较,原因在前面的链接中描述。您应该在不同的光照条件下获得更好的结果。

【讨论】:

  • 非常感谢您提供的信息!从 RGB 到 HSV 的转换似乎对我有很大帮助! @HenkHolterman,以前从未听说过 Auto-White-Balance,但我用谷歌搜索了它并为我的项目提供了一些新想法!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-27
  • 1970-01-01
  • 2018-10-30
  • 2012-10-24
  • 2010-11-09
  • 1970-01-01
  • 2017-11-19
相关资源
最近更新 更多