实验2运动目标检测和跟踪实验概论.docVIP

  • 24
  • 0
  • 约4.75千字
  • 约 9页
  • 2021-10-07 发布于辽宁
  • 举报
实验2运动目标检测和跟踪实验 自己拍摄或下载一段视频,编程序实现: (1) 分别采用帧间差分、累积差分和背景减法进行运动目标检测,比较 它们的效果并讨论其应用特点; (2) 采用数学形态学算子对上述结果进行后续处理,比较不同形态学算 子和结构算子(尺寸、形状)对结果的影响。 实验内容: 录取一段视频,转化为avi格式并截取部分帧如下图所示: 第8帧第9帧第10帧第口帧第12 第8帧 第9帧 第10帧 第口帧 第12帧 第13帧 图片1部分帧 帧间差分: 1)实验程序: mov=mmreader(瓶 盖.avi1); % 用 mmreader读入视频文件 for i=l:mov.numberofframes %获得总 帧数,并依次读取 b=read(mov,i); imwrite(b/strcat(,n,/int2str(i)/.bmp,)/bm p); %把第i帧的图片写为‘ni.bmp’ end %% 帧 间 差 分 gm4=imread(, n4 .bmp); gm24=imread(,n30.bmp1); gm4=rgb2gray(gm4); gm24=rgb2gray(gm24); N=l; (hang,lie]=size(gm4); alldiff=zeros(hang,lie,N); diff=abs(gm4-gm24); idiff=diff45; alldiff(:,:/l)=uint 8(idiff); imwrite(alldiff(:,:/l)/,pic.bmp,) %%形态学算子处理 iTmreadCpic.bmp); figure(l); subplot(221);imshow(gm4);title(,第 4 帧 图); 实验结果  subplot(222);imshow(gm24);title(l第 24 帧图); subplot(223);imshow(alldiff(:,:/l));title(, 第4,30帧差分 se=strel(,squarez2); ll=imerode(l,se); figure(2); subplot(221);imshow(ll);title(,腐蚀处理 后的效果J; I2=imdilate(l/se); subplot(222);imshow(l2);title(膨胀处理 后的效果J; I3=imope n(l’se); subplot(223);imshow(l3);title(lJF 运算处 理后的效果匕 I4=imclose(l7se); subplot(224);imshow(l4);title(,闭运算处 理后的效果J; 第4帧图 第24帧图 第430帧差分 图2第4帧?与第24帧差分 开运算处理后的效果闭运算处理后的效果 开运算处理后的效果 闭运算处理后的效果 图3对差分图像的处理 3)实验结果分析 帧间差分法是一种通过对视频图像序列中相邻两帧作差分运算来获得运动U 标轮廓的方法,它可以很好地适用于存在多个运动口标和摄像机移动的情况。两 帧相减,得到两帧图像壳度差的绝对值,判断它是否大于阈值来分析视频或图像 序列的运动特性,确定图像序列中有无物体运动。图像序列逐帧的差分,相当于 对图像序列进行了时域下的高通滤波。山图2可以明显看岀有物体进入了视频区 域。但是帧间差分依赖选择的帧间时间间隔,如果选择不合适,当物体在前后两 帧中儿乎完全重叠时,则检测不到物体。 腐蚀运算是能够消融物体的边界。对于比较小的结构元素,腐蚀后则在物体 中完全消失,这一点可以起到很好的降噪作用。膨胀运算是能使物体的边界扩大。 常用于将图像中原本断裂开的同一物体桥接起来,因为对图像二值化后很容易使 得一个联通的物体断裂成为两个部分。开运算是先腐蚀后膨胀,开运算使图像的 轮廓变得光滑,断开狭窄的连接和消除细毛刺。闭运算是先膨胀后腐蚀,闭运算 同样使轮廓变得光滑,但通常能够弥合狭窄的间断,填充小的空洞。山图3可以 看岀腐蚀和开运算后突出了许多细节,而且小空洞增多;膨胀和闭运算后小空洞 减少,淡化了细节内容。 背景差分 实验程序 filename =瓶盖?avi; mov=aviread(file name); info=mmreader(filename); I — g. 8帧作为背景 B=zeros(); for i=l:l I=rgb2gray(imread(strcat(,n,/int2str(i)/.b mp))); [m/n]=size(l); l=double(l); B=B+I; end B=B/I; B=uint 8(B); gm=imread(, n30.bmp); gm=rgb2gray(gm); N=l; [hang,lie]=size(gm); alldiff

文档评论(0)

1亿VIP精品文档

相关文档