2016-04-23 328 views
1

我正在使用python中的openCV识别颜色黄色。我已经到了这一步,我必须在HSV中定义黄色的上下范围。使用openCV识别HSV中颜色的范围

用于限定蓝的范围

实施例:

lower_blue = np.array([110,50,50]) 
upper_blue = np.array([130,255,255]) 

的HSV通常以百分比定义,我想知道如何定义的范围内为黄色等的例子。

This is the colorspaces tutorial I've been following.

编辑: 有在上述博客的一些建议,但它并没有给我所需的输出。

+0

查看http://i.stack.imgur.com/gCNJp.jpg。色调值以度数给出。 Opencv使用范围0..180而不是0..360,因此您必须将度数值除以2.选择目标值周围的任何范围。例如黄色的色调是60度。所以你的色调范围可能从60/2 - 10到60/2 + 10或从60/2-5到60/2 + 5取决于你想从完美的黄色离开多远。 – Micka

回答

2

看看this page你会发现你想要的颜色的HSV值。

对于HSV,色调范围为[0,179],饱和度范围为[0,255],值范围为[0,255]。不同的软件使用不同的比例。因此,如果您正在比较OpenCV值与他们,您需要规范化这些范围。

我猜你是黄色

lower_blue = np.array([25,50,50]) 
upper_blue = np.array([32,255,255]) 
+0

是的,我正在寻找黄色的这种值。 – Harish

0

如果您从相机拍摄照片,将取决于照明条件。如果你的目标是跟踪一些物体,你应该总是更新你的HSV值。我的建议是在你的照明条件下尽量缩小边界。