我使用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方法应该返回的文档,所以我不确定如何调试它。
有没有人知道如果事情正常和/或有任何例子我应该看到什么类型的输出?
答案 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()