欢迎来到天天文库
浏览记录
ID:49822568
大小:73.27 KB
页数:3页
时间:2020-03-04
《AVI视频中运动目标检测的matlab实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、%--------------------------------------------------------------------------%基于中位数算法的运动目标检测%第1种实现方法%--------------------------------------------------------------------------%*******************************读取视频数据********************************%调用aviread函数读取视频文件vid=avire
2、ad('WalkingMan.avi')size(vid(1).cdata)%查看第1帧的大小,也是每一帧的大小vid(1).colormap%查看第1帧的colormap值%*****************************数据类型的转换********************************%把vid的cdata字段的取值转换成一个240×360×3×80的四维数组IMIM=cat(4,vid.cdata);size(IM)%查看IM的大小[m,n,k,h]=size(IM);%把IM的大小赋给四个变量%把IM转换
3、成一个80行,240×360×3列的矩阵I=reshape(IM,[m*n*k,h])';%********************调用median函数求中位数,进行视频图像分割****************I=median(I);%求I矩阵中各列元素的中位数I=reshape(I,[m,n,k]);%将向量I转成240×360×3的三维数组,得到背景图像figure;%新建一个图形窗口imshow(I);%显示背景图像figure;%新建一个图形窗口imshow(IM(:,:,:,1)-I);%显示第1帧中的目标图像%------
4、--------------------------------------------------------------------%基于中位数算法的运动目标检测%第1种实现方法%--------------------------------------------------------------------------%调用mmreader函数创建读取视频文件的多媒体阅读对象WalkManObjWalkManObj=mmreader('WalkingMan.avi');%根据多媒体阅读对象WalkManObj,读取视频的各
5、帧图像数据IM=read(WalkManObj,[1,inf]);[m,n,k,h]=size(IM);%把IM的大小赋给四个变量%把IM转换成一个80行,240×360×3列的矩阵I=reshape(IM,[m*n*k,h])';I=median(I);%求I矩阵中各列元素的中位数I=reshape(I,[m,n,k]);%将向量I转成240×360×3的三维数组,得到背景图像figure;%新建一个图形窗口imshow(I);%显示背景图像figure;%新建一个图形窗口imshow(IM(:,:,:,1)-I);%显示第1帧中的
6、目标图像如下图效果
此文档下载收益归作者所有