opencv多目标追踪容器

本文介绍了使用OpenCV进行多目标追踪的实践,通过调用demo.py来追踪视频中的多个对象,通过设置ROI区域进行追踪,但效果评价一般。
摘要由CSDN通过智能技术生成

opencv多目标追踪容器

之前做过一个多目标追踪的项目,尝试了一下opencv提供的追踪容器,个人感觉效果一般。

# coding:utf-8 
# @Time : 14/12/2018 17:07
# @Author : SuRui

import cv2
from functools import wraps


def GetFps(func):
	@wraps(func)
	def wrapper(*args):
		timer = cv2.getTickCount()
		boxes = func(*args)
		fps = cv2.getTickFrequency() / (cv2.getTickCount() - timer)
		return boxes, fps
	
	return wrapper


class MultipleTargetTracker:
	def __init__(self):
		self.multi_tracker = cv2.MultiTracker_create()
		self._method_name = None
	
	@property
	def method_name(self):
		return self._method_name
	
	@method_name.setter
	def method_name(self, method):
		self._method_name = method
	
	@property
	def tracker_method(self):
		"""
		Choose one method from the follow list.
		'BOOSTING', 'CSRT', 'MIL', 'KCF', 'TLD', 'MEDIANFLOW', 'MOSSE', 'GOTURN'
		:param method_name:
		:return:
		"""
		# (major_ver, minor_ver, subminor_ver) = (cv2.__version__).split('.')
		
		tracker_types = ['BOOSTING', 'CSRT', 'MIL', 'KCF', 'TLD', 'MEDIANFLOW', 'MOSSE', 'GOTURN']
		tracker_generator = [cv2.TrackerBoosting_create, cv2.TrackerCSRT_create, cv2.TrackerMIL_create,
		                     cv2.TrackerKCF_create, cv2.TrackerTLD_create, cv2.TrackerMedianFlow_create,
		                     cv2.TrackerMOSSE_create
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值