我想使用网络摄像头和python opencv跟踪白色。我已经有跟踪蓝色的代码了。
_, frame = cap.read()
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
# define range of blue color in HSV
lower_blue = np.array([110,100,100])
upper_blue = np.array([130,255,255])
#How to define this range for white color
# Threshold the HSV image to get only blue colors
mask = cv2.inRange(hsv, lower_blue, upper_blue)
# Bitwise-AND mask and original image
res = cv2.bitwise_and(frame,frame, mask= mask)
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
我应该给出什么样的值作为下限和上限来跟踪白色!!?? 我试图改变价值观,我得到了其他颜色,但没有运气与白色!!!
is that HSV values or BGR values specified as lower and upper bounds???
注:我必须得到最后一个结果作为一个二值图像以便进一步处理!!
请帮帮我!!!
让我们来看看HSV颜色空间:
你需要白色的,靠近中间,而且很高。从
然后根据需要调整阈值。
您也可以考虑使用HSL颜色空间,它代表色调、饱和度和亮度。然后你只需要看看亮度来检测白色,识别其他颜色就很容易了。HSV和HSL保持相似的颜色相近。此外,HSL可能会证明更准确地检测白色-以下是原因:
下面是一个HSV颜色阈值脚本,使用滑块确定上下限
结果
使用此示例图像
具有这些较低/较高的阈值
我们得到孤立的白色像素(左)和二进制掩码(右)
这是脚本,请记住更改输入图像路径
我写这个是为了追踪白色:
我试着追踪我手机的白色屏幕,得到了这个:
您可以尝试更改HSV值 你也可以试试HSL颜色空间,就像Legat说的那样,它会更精确
相关问题 更多 >
编程相关推荐