网球追踪

英文原文地址: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.绘制轨迹
              
             
 
posted @ 2017-06-27 11:26  犹记当年刘关张  阅读(166)  评论(0)    收藏  举报