网球追踪
英文原文地址:http://www.pyimagesearch.com/2015/09/14/ball-tracking-with-opencv/
整体思路:
1.颜色阈值设定
在HSV颜色空间中设置绿色的上下边界
greenLower = (29, 86, 6)
greenUpper = (64, 255, 255)
2.预处理
1)调整尺寸
2)模糊处理(此处选择高斯模糊,主要是为了降噪)
3)转换为HSV颜色空间图像
3.为绿色创建掩膜,进行一系列的膨胀和腐蚀操作来移除掩膜中的噪点区域,成功检测出网球区域
mask = cv2.inRange(hsv, greenLower, greenUpper)
mask = cv2.erode(mask, None, iterations=2)
mask = cv2.dilate(mask, None, iterations=2)
4.轮廓检测与绘制
cnts = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)[-2]
center = None
1)找到最大轮廓
2)计算最大轮廓的外接最小圆,得到圆心
3)绘制网球最小外接圆
5.绘制轨迹

浙公网安备 33010602011771号