3

我最近开始在图像处理领域研究一个小型爱好者程序,我是图像处理的菜鸟,但我正在尝试至少弄清楚它的某些方面。

我想要做的是通过颜色(最好在实时视频馈送中)将图像中的对象分开,然后识别它们的颜色。

我阅读了一些关于 OpenCV 以及一些不同算法的信息。我什至开始使用 canny 算法,但我不确定这是我应该从我的需要开始的算法,因为它可以检测物体的边缘,而不管它们的颜色如何。

即使这是我应该使用的算法,识别它为我标记的对象颜色的最佳方法是什么?

我希望我说得够清楚。

非常感谢!

4

3 回答 3

5

了解色彩空间 - RGB 几乎总是最糟糕的图像处理来源。

从HSL 和 HSV开始

于 2011-08-04T16:54:51.610 回答
4

使用 OpenCV 分离或使颜色透明(例如删除它)非常简单......我发布了一个答案(见下面的链接),它应该可以帮助你(或者可能解决你的问题)。

这是我发布的代码

  • 此外,Martin Beckett 的回答是绝对正确的,RGB 不是评估颜色的好色彩空间,您可以使用 HSV,以度数为单位的色调值告诉您正确的颜色(您可以从光谱中的波长进行比较) 而 S 和 V 编码一种强度(我说的是为了简化以解释在许多情况下使用 Hue 来分割彩色图像就足够了)。

即使这是我应该使用的算法,识别它为我标记的对象颜色的最佳方法是什么?

欢迎来到图像处理社区,

朱利安,

于 2011-08-04T17:08:19.453 回答
0

对于初学者,您应该了解图像数组操作,例如使用 OpenCV 函数 inRange 按最小到最大颜色范围过滤颜色。另一种选择是将多通道阵列(在这种情况下为 R、G 和 B)拆分为 3 个不同的单通道以进行进一步检查。希望它的帮助

于 2016-04-21T18:11:10.530 回答