openCV之目标追踪

简介: openCV之目标追踪
import cv2
import numpy as np

#定义OpenCV中的七种目标追踪算法
OPENCV_OBJECT_TRACKERS = {
   
'boosting' : cv2.TrackerBoosting_create,
'csrt' : cv2.TrackerCSRT_create,
'kcf' : cv2.TrackerKCF_create,
'mil': cv2.TrackerMIL_create,
'tld': cv2.TrackerTLD_create,
'medianflow': cv2.TrackerMedianFlow_create,
'mosse' : cv2.TrackerMOSSE_create
}


trackers = cv2.legacy.MultiTracker.create()
cap = cv2. VideoCapture ('./videos/soccer_01.mp4')
while True:
    flag,frame = cap.read()
    if frame is None:
        break 

    #追踪目标
    success,boxes = trackers. update(frame)
    #绘制追踪到的矩形区域
    for box in boxes:
        # box是个浮点型,画图需要整型
        (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)
    key = cv2.waitKey(100)
    if key == ord('s'):
        # 框选ROI区域
        roi = cv2.selectROI('frame',frame,showCrosshair=True,fromCenter=False)
        #创建一个实际的目标追踪器
        tracker = OPENCV_OBJECT_TRACKERS['kcf']()
        trackers.add(tracker,frame,roi)

    elif key == 27: 
        break

cap.release()
cv2.destroyAllWindows()
目录
相关文章
|
1月前
|
编解码 计算机视觉 索引
OpenCV使用单目标匹配从图像中选择最佳的匹配结果及查找重复图像实战(附Python源码)
OpenCV使用单目标匹配从图像中选择最佳的匹配结果及查找重复图像实战(附Python源码)
114 0
|
6月前
|
存储 算法 算法框架/工具
【opencv】计算机视觉:实时目标追踪
【opencv】计算机视觉:实时目标追踪
|
计算机视觉 索引
物体追踪实战:使用 OpenCV实现对指定颜色的物体追踪
物体追踪实战:使用 OpenCV实现对指定颜色的物体追踪
303 0
物体追踪实战:使用 OpenCV实现对指定颜色的物体追踪
|
计算机视觉 算法
基于opencv模板匹配的目标识别方法
因为pcl的点云模板匹配遇到了各种困难,暂时先用opencv的模板匹配函数做一个简单的焊缝识别,看看效果。此方法的缺陷就在于物体和相机位置必须固定,只允许微小位移,否则数据将失效。
4408 0
|
Android开发 计算机视觉 算法
Android使用OpenCV CamShift实现目标追踪
CamShift算法基于色值,适用于追踪颜色和背景差异较大的目标。 效果图 以下调试代码,仅供参考: 源码 package com.
2104 0
|
5天前
|
算法 计算机视觉
【Qt&OpenCV 图像的感兴趣区域ROI】
【Qt&OpenCV 图像的感兴趣区域ROI】
9 1
|
5天前
|
运维 算法 计算机视觉
【Qt&OpenCV 图像的模板匹配 matchTemplate/minMaxLoc】
【Qt&OpenCV 图像的模板匹配 matchTemplate/minMaxLoc】
7 1
|
17天前
|
计算机视觉
OpenCV中图像算术操作与逻辑操作
OpenCV中图像算术操作与逻辑操作
12 1
|
18天前
|
计算机视觉
OpenCV图像二值化
OpenCV图像二值化
|
18天前
|
存储 Cloud Native Linux
OpenCV图像翻转和旋转
OpenCV图像翻转和旋转