基于帧差法的运动目标检测的matlab代码

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

mov=aviread('CIMG0003.AVI');temp=size(mov);fnum=temp(2);fori=1:fnum,strtemp=strcat(int2str(i),'.','JPG');imwrite(mov(i).cdata(:,:,:),strtemp);end%%从视频中提出每一帧图像o=1;e='.jpg';fori=1:15u=o-1;v=o-2;m=int2str(o);n=int2str(u);h=int2str(v);s=strcat(m,e);%%把字符串b与m连接后在连接e得到图像文件存储的位置m=imread(s);%%从S处把图像读取出来m=rgb2gray(m);%%将图像M灰度化m=medfilt2(m,[3,3]);if(o=3)s=strcat(n,e);n=imread(s);n=rgb2gray(n);s=strcat(h,e);h=imread(s);h=rgb2gray(h);n=medfilt2(n,[3,3]);h=medfilt2(h,[3,3]);q=im2double(m);%%将图像数组转换为double型w=im2double(n);g=im2double(h);c=q-w;j=w-g;th=10/255;k=find(abs(c)=th);c(k)=1;k=find(abs(c)th);c(k)=0;c=bwareaopen(c,15);se90=strel('line',3,90);se0=strel('line',3,0);c=bwmorph(c,'close');%对上述图像进行形态学闭运算c=imdilate(c,[se90,se0]);c=bwmorph(c,'close');c=bwareaopen(c,50);k=find(abs(j)=th);j(k)=1;k=find(abs(j)th);j(k)=0;j=bwareaopen(j,15);j=bwmorph(j,'close');%对上述图像进行形态学闭运算j=imdilate(j,[se90,se0]);j=bwmorph(j,'close');c=bwareaopen(c,50);c=c&j;c=imerode(c,[se90,se0]);figure,imshow(c);a=c;b=c;d=c;f=c;[m,n]=size(c);%%行扫描填充fori=1:mforj=1:n-1ifa(i,j)0a(i,j+1)=1;endendendfori=1:mforj=n:-1:2ifb(i,j)0b(i,j-1)=1;endendendth=a&b;%%列扫描填充fori=1:nforj=1:m-1ifd(j,i)0d(j+1,i)=1;endendendfori=1:nforj=m:-1:2iff(j,i)0f(j-1,i)=1;endendendtd=d&f;c=th&td;endo=o+1;

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功