目前常用的实用性目标检测与跟踪的方式方法有以下两种:
1. 帧差法
视频是由一帧帧的图片顺序播放组成, 通过对比前一帧的图像与现在这一帧对比,该方法对于运动目标过于敏感, 而且需要保障镜头必须保持固定,因此帧差法适用于行人稀少或者夜晚场景,能够有效的识别出移动目标出来。
1.1 帧差法函数
/*****************************************************************
* 函数名称: Mat video_run::moveCheck(Mat &frame1, Mat &teme1)
* 功能描述: 帧差法
* 参数说明: Mat &frame1 当前帧
* Mat &teme1 前一帧
* 返回值: 给动过的物体绘制矩形
* 修改记录:
* 日期: 2022-07-29 修改人: yida
* 描述:
* 日期: 2022-07-29 修改人: yida
* 描述:
******************************************************************/
Mat video_run::moveCheck(Mat &frame1, Mat &teme1)
{
Mat res, sres;
Mat frameGray, temeGray;
sres = frame1.clone();
//1、灰度处理目的:RGB三通道转灰度单通道,压缩到原图片三分之一大小
cvtColor(frame1, frameGray,CV_BGR2GRAY);
cvtColor(teme1, temeGray,CV_BGR2GRAY);
// 2. 帧差处理 找到两帧之间的差别、(正在运动的物体)
absdif