如何在mas中过滤不需要的点

2024-06-28 18:59:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我想检测一种颜色,然后我在HSV工作,并使用3 treshold

r,BGR = cap.read()
HSV = cv2.cvtColor(BGR, cv2.COLOR_BGR2HSV)
lowerb = np.array([Hrange[0],Srange[0],Vrange[0]])
higherb = np.array([Hrange[1],Srange[1],Vrange[1]])

#Values comes from a trackbar

mask= cv2.inRange(HSV, lowerb, higherb)
result = cv2.bitwise_and(BGR,BGR, mask=mask)

H、S、V范围如下: [20,40],[50-170],[50170]

如您所见,结果是像素化的,我想统一检测到的每个区域(什么是更白的去白&;什么是更黑的(去黑)

是否有Numpy或OpenCV2函数来执行此操作

Mask

谢谢


Tags: read颜色npmaskarraycv2hsvcap
1条回答
网友
1楼 · 发布于 2024-06-28 18:59:55

inRange已经为您提供了一个二进制图像,因此没有“更多的白色”或“更多的黑色”。 你要找的是形态学运算

或者,尽管可以说速度较慢,而且不完全相同,median filter也是值得研究的东西

相关问题 更多 >