使用OpenCV实现简单的移动物体检测和追踪

简介

这篇文章使用了OpenCV中的BackgroundSubtractor,实现了对移动物体的简单检测及追踪。

由于我参考的是OpenCV 3.1官方文档中提供的实例代码,所以如果你使用的是OpenCV 2.X,那应该会出现问题,不妨参考这篇文章http://blog.csdn.net/u011630458/article/details/45895649

BackgroundSubtractor介绍

BackgroundSubtractor一共给我们提供了三种具体方法,分别是BackgroundSubtractorMOG, BackgroundSubtractorMOG2和BackgroundSubtractorGMG

这三种方法的具体区别及使用方法可以参考这篇官方文档http://docs.opencv.org/3.1.0/db/d5c/tutorial_py_bg_subtraction.html

本文采用的是BackgroundSubtractorMOG2这种方法

下面附上代码:

//
//  main.cpp
//  移动物体识别
//
//  Created by ywy on 2016/10/10.
//  Copyright © 2016年 Swallow. All rights reserved.
//


#include "opencv2/imgcodecs.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/videoio.hpp"
#include <opencv2/highgui.hpp>
#include <opencv2/video.hpp>

#include <stdio.h>
#include <iostream>
  • 23
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
OpenCV提供了多种物体追踪器,用于在视频中跟踪物体的位置。这些追踪器包括BOOSTING、MIL、KCF、CSRT、MedianFlow、TLD、MOSSE和GOTURN等。BOOSTING Tracker是基于机器学习算法的,但是它的速度较慢且效果不佳。MIL Tracker比BOOSTING Tracker更准确,但在处理失败情况方面表现较差。KCF Tracker是一种内核化相关滤波器,比BOOSTING和MIL Tracker更快,但不能很好地处理完全遮挡的情况。CSRT Tracker使用判别相关滤波器,通常比KCF Tracker更准确,但速度稍慢。MedianFlow Tracker在处理失败方面表现较好,但对于快速移动或外观变化较大的物体可能会失败。TLD Tracker容易产生误报,因此不推荐使用。MOSSE Tracker非常快速,但准确性不如CSRT或KCF Tracker。GOTURN Tracker是唯一基于深度学习的目标检测器,它需要额外的模型文件才能运行。 根据不同的OpenCV版本,我们可以使用不同的方法来创建物体追踪器。如果使用的是OpenCV 3.2或更早的版本,可以使用特殊的工厂函数来创建追踪器。如果使用的是OpenCV 3.3或更新的版本,需要显式调用相应的物体追踪器构造函数。可以使用一个字典来映射命令行参数字符串到相应的物体追踪器函数,从而获取适当的物体追踪器实例。 要开始物体追踪,首先需要初始化要追踪物体的边界框坐标。然后,使用适当的物体追踪器对象进行追踪。还可以从视频中获取帧,并根据需要进行处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [OpenCV 对象跟踪](https://blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/122815739)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值