图像视频跟踪系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图像视频跟踪系统

摘要:通过对图像进行阈值处理(图像分割),再对分割后的图像求取形心,以对目标图像进行定位,并最后找到各幅帧图像的目标位置的方法,从而实现对200帧视频图像的实时跟踪。

关键词:阈值处理;视频序列目标跟踪;形心估计

1 引言

视频序列目标跟踪是指对传感器摄取到的图像序列进行处理与分析,充分利用传感器采集得到信息来对目标进行稳定跟踪的过程。一旦目标被确定,就可获得目标的位置、速度、加速度等运动参数,进而获得目标的特征参数。在军事上,视频序列目标跟踪技术广泛应用于精确制导、战场机器人自主导航、无人机着降,靶场光电跟踪等领域。在民用上,该技术在智能视频监控、智能交通管制、医疗影像诊断等方面也有很重要的应用。

视频跟踪目前在国内外都有较广泛的研究和应用,比如2005年,美国中央佛罗里达大学计算机视觉实验室开发出了基于MATLAB的COCOA系统,用于无人机低空航拍视频图像的目标检测与跟踪处理。

2 基于MATLAB的图像跟踪算法

2.1 200帧视频图像的读取

由于视频是由200帧图像通过连续播放从而达到视频的效果的,所以要达到视频放映的效果,应首先对200帧图像序列进行顺序读取。200帧图像存储在MATLAB的默认路径中,文件名为00000xxx.bmp。要达到读取它们的目的,需要使用循环算法。算法由一个名为read_seqim(i)的函数实现,以下是函数的源程序:

function I=read_seqim(i)

if nargin==0

i=1;min=00000001;

end

name=num2str(i);

if i<=9

min=strcat('0000000',name,'.bmp');

elseif i<=99

min=strcat('000000',name,'.bmp');

else

min=strcat('00000',name,'.bmp');

end

I=imread(min);

其中i为读取图像的序号,通过以上的函数可以很方便的实现对200帧图像中任意一帧的读取,从而为后面的处理提供方便。

2.2 图像的阈值处理(图像分割)

阈值(Threshold),也叫门限。阈值化(Thresholding),即按给定阈值进行图像的二值化处理。阈值分割法可分为以下几种:

☐简单阈值分割法;

☐多阈值分割法;

☐最大类间方差法;

☐最佳阈值法。

许多情况,图像是由具有不同灰度级的几类区域组成。如文字与纸张、地物与云层(航空照片)等,阈值分割是利用同一区域的具有某种共同灰度特性进行分割。而用阈值分割法分割图像就是选取一个适当的灰度阈值,然后将图像中的每个像素和它进行比较,将灰度值超过阈值的点和低于阈值的点分别指定一个灰度值,就可以得到分割后的二值图像,此时目标和背景已经得到了分割。阈值分割法简单,快速,特别适用于灰度和背景占据不同灰度级范围的图像。这里我们使用多阈值分割法。

多阈值分割法就是假设一幅图像包含两个以上的不同类型的区域,可以使用几个

门限来分割图象。分割函数如下:2.2.1阈值的确定

01

112

22

,(,) (,),(,)

,(,)

f f x y T

g x y f T f x y T

f f x y T

=<≤

⎪>

由于需要分析的200帧图像的灰度分布大致是相当的,所以我们任意选取一帧图像来求取它的阈值,这里我们选取第50帧图像,具体的源代码如下:I0=read_seqim(50);%任意读取一帧图像

figure(1),imshow(I0);%原图像显示

I0=double(I0);%化为双精度

figure(2),hist(I0,300);%原图像直方图显示

所得到的图像如下:

上图为读取一帧图像的图像显示,下图为它所对应的直方图显示

2.2.2图像的阈值分割

第一图中的直升机是我们所要跟踪的目标。

第二图中我们可以看出我们所要得到的目标灰度分布于灰度值在150-200的区域内;图中灰度小于50的区域内有以峰值,为第一图中右边边框的刻度线的灰度表示;图中灰度在200-230区域内为背景的灰度表示,所以这里我们就设定两个阈值T1=50;T2=200.在两阈值中间的区域为目标区域。通过图像分割把目标从图像中提取出来,具体源代码如下:

T1=50;T2=200;%观察并找出阈值

for i=1:200

I=read_seqim(i);

M=double(I);

for m=1:272

for n=1:512

if (M(m,n)>=T1)&&(M(m,n)<=T2)

M(m,n)=1;%设置背景灰度

else

M(m,n)=0;%设置目标灰度

end

end

end%%图像的分割和阈值处理

end

所得到的阈值处理(图像分割)后的图像如下:

2.3 形心(距心)的求取

成像跟踪系统经过图像的预处理、图像的分割识别等一系列信息处理,最终实现对目标位置的实时精确测量,即对目标或目标的局部实施稳定跟踪。目标跟踪的方法具体有以下几种:

矩心(质心、形心)跟踪;边缘跟踪;峰值跟踪;相关跟踪;滤波跟踪。

这里我们使用矩心(质心、形心)跟踪。矩心也叫质心或重心,是物体对某轴的静力矩作用中心。如果把目标图像看成是一块质量密度不均匀的薄板,以图像上各像素点的灰度作为各点的质量密度。这样就可以借用矩心的定义式来计算目标图像的矩心。由于计算重心的过程是个统计平均过程, 它算出的跟踪点不是个别的最亮点位置, 而是图像中各个像元灰度加权平均的位置, 所以, 以重心为跟踪点, 跟踪的随机误差小, 精度高, 稳定性好。具体的计算方法如下:

其中f(x,y)为(x,y)处的灰度值,N和M分别为图像的列数和行数,以下为求取形心的源程序:

for i=1:200

相关文档
最新文档