我想检测一种颜色,然后我在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
已经为您提供了一个二进制图像,因此没有“更多的白色”或“更多的黑色”。 你要找的是形态学运算或者,尽管可以说速度较慢,而且不完全相同,median filter也是值得研究的东西
相关问题 更多 >
编程相关推荐