Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何过滤遮罩中不需要的点_Python_Opencv_Filtering - Fatal编程技术网

Python 如何过滤遮罩中不需要的点

Python 如何过滤遮罩中不需要的点,python,opencv,filtering,Python,Opencv,Filtering,我想检测一种颜色,然后我在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(HS

我想检测一种颜色,然后我在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函数来执行此操作


谢谢

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


或者,尽管可以说速度较慢,而且不完全相同,但这也是值得研究的问题。

非常感谢,我将以这种方式搜索!注:对于“更多白色”我的意思是:“这个像素的白色邻域比黑色邻域多。那么它应该是白色的!在这种情况下,中值滤波器是你的理想选择,因为你的陈述本身就是中值滤波器的长短(至少在二值图像中).经过一些测试,它完全符合我的要求!非常感谢!很高兴能提供帮助。:)