目标跟踪的方法有很多,背景差分法, 差分帧法,mean-shift法等等, 这里主要说说最简单的差分帧法。
差分帧法的目标跟踪的主要思想是,将当前帧图像与前一帧图像做一个差分,对差分的图像取绝对值后进行二值化。 所得到的二值化图像I就是两帧图像间位移的范围。我们使用一个最小外接矩形将I圈出,并标出“形心”(实际上是矩形的中心,而非I的重心),就能获知完成对于目标的跟踪了。
d(i,j)=0 if |f2(i,j)-f1(i,j)|<E
=1 otherwise ....................................... 图像差分及二值化的过程
因此差分图像法的主要步骤是:
1.读取视频,如果图像序列是彩色图像,则将其转成灰度图像。
2. 从1:Frames提取图像的所有帧数。
3. 从帧数2开始,每帧图像减去前一帧图像,取绝对值之后然后再二值化,获得差分图像I。
注:也可以按2-1,4-3,6-5的顺序相减,这样可以减少计算量。
4.使用矩形框,将差分图像框出,并标出形心。
Matlab代码如下所示:(已在Matlab 2011b环境下调试通过)
clear;
clc;
avi = aviread('samplevideo.avi'); %读取视频