2012-07-12 86 views
2

我使用guide来检测某种颜色的斑点。 在该指南中,检查是否有橙色的斑点,并用这个值:如何使用opencv检测蓝色对象

int orange[3] = {200, 250, 10}; 

在引导它说,这个数值代表了HSV的橙色。

我不知道他们如何计算这个值,但我尝试检查从rgb转换为hsv的蓝色值,但它不起作用。我必须检测是这种颜色:

this color

如何确定的HSV值检测的颜色任何想法?谢谢!!

回答

4

对于blue,它可以用作HSV值:[120,255,255]

我从GIMP,一个开放的源图像处理工具如Photoshop计算它。同样,你可以使用任何工具来做到这一点。

但是记住在OpenCV中,色相从0-180范围,S = 0-255,V = 0-255

但在GIMP,它是H = 0-360,S = 0〜 100,V = 0-100。所以你必须根据这个进行缩放。

大量的互动网站可以在谷歌搜索。你可以试试。

  • 知道他们是如何将这些值,检查其wikipedia page.
  • 或者你可以检查出OpenCV的文档,看看它是如何工作的OpenCV: cvtColor()

我刚才粘贴的关系您的位置:

enter image description here

enter image description here

enter image description here

+1

感谢您的回复,但如果你对我突出导向看,颜色检查颜色变化的功能制成,它利用价值的色调大于180 ... – JackTurky 2012-07-12 10:16:14

+0

请张贴链接,它说你的问题中的值是橙色的。 – 2012-07-12 10:21:08

+0

行了。我不明白他们为什么这么做。但对于您来说,只需将RGB图像转换为HSV并检查H平面中的最大值即可。 – 2012-07-12 10:23:24