Advertisement

OpenCV-目标追踪

阅读量:

@Fu Xianjun. All Rights Reserved.

目标跟踪是计算机视觉领域的一个重要问题,目前广泛应用在体育赛事转播、安防监控和无人机、无人车、机器人等领域。

目标跟踪有哪些研究领域呢? 单目标跟踪 - 给定一个目标,追踪这个目标的位置。 多目标跟踪 - 追踪多个目标的位置

**要实现目标追踪,首先,我们要更新一下电脑自身的pip

pip install
opencv_contrib_python==3.4.3.18**

如果报错再加上–user

pip install opencv_contrib_python==3.4.3.18–user

创建追踪器方法对象

复制代码
 OPENCV_OBJECT_TRACKERS = {

    
     "csrt": cv2.TrackerCSRT_create,
    
     "kcf": cv2.TrackerKCF_create,
    
     "boosting": cv2.TrackerBoosting_create,
    
     "mil": cv2.TrackerMIL_create,
    
     "tld": cv2.TrackerTLD_create,
    
     "medianflow": cv2.TrackerMedianFlow_create,
    
     "mosse": cv2.TrackerMOSSE_create
    
 }

创建多目标追踪器

复制代码
    }trackers = cv2.MultiTracker_create()

选择目标ROI

复制代码
 key = cv2.waitKey(100) & 0xFF

    
 if key == ord("s"):
    
     # 选择一个区域,按s
    
     box = cv2.selectROI("Frame", frame, fromCenter=False,
    
         showCrosshair=True)
    
  
    
     # 创建一个新的追踪器
    
     tracker = OPENCV_OBJECT_TRACKERS["csrt"]()
    
     trackers.add(tracker, frame, box)
    
     (success, boxes) = trackers.update(frame)

绘制区域

复制代码
      for box in boxes:

    
     (x, y, w, h) = [int(v) for v in box]
    
     cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
    
 cv2.imshow("Frame", frame)

全部评论 (0)

还没有任何评论哟~