如果成功,OpenCV中的HSV阈值应该返回什么?

时间:2017-02-09 23:30:01

标签: python python-3.x opencv hsv

我使用OpenCV和Python开发可以在图像中找到目标图案的软件。我目前正在寻找所需的目标,其中一部分是运行HSV阈值操作来隔离目标的颜色。 HSV阈值代码如下所示:

out = cv2.cvtColor(input, cv2.COLOR_RGB2HSV)
return cv2.inRange(out, (hue[0], sat[0], val[0]), (hue[1], sat[1], val[1]))

数组hue[]sat[]val[]在代码的其他位置定义,并包含我正在寻找的HSV范围的实验检查值。我添加了一个print语句来在运行此方法后打印输出。当我在相机框架上运行此方法时,它会返回此信息:

[[0 0 0 ..., 0 0 0]
 [0 0 0 ..., 0 0 0]
 [0 0 0 ..., 0 0 0]]

我尝试使用包含许多不同颜色的气球的不同库存图像,并返回相同的东西。如果工作正常,我很难找到有关HSV方法应该返回的文档,所以我不确定如何调试它。

有没有人知道如果事情正常和/或有任何例子我应该看到什么类型的输出?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,我想把它放在这里以防万一有人有类似的问题并在以后搜索。

将图像打印到窗口对我帮助很大,因为我的IP摄像头,GRIP显示窗口和OpenCV图像的Web查看器都略有不同,因此我从GRIP获得的阈值数字不起作用所有,只返回一个黑色图像。

以下是如何将图像打印到窗口并查看您正在使用的内容:

cv2.imshow('image', img) #img is your image, 'image' is the name of the window you'll create
cv2.waitKey(0) #handles GUI elements, and causes the window to close when you press any key
cv2.destroyAllWindows()