MATLAB运动目标检测代码.docx

MATLAB运动目标检测代码.docx

ID:53123455

大小:10.02 KB

页数:2页

时间:2020-04-01

MATLAB运动目标检测代码.docx_第1页
MATLAB运动目标检测代码.docx_第2页
资源描述:

《MATLAB运动目标检测代码.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、运动目标检测matlab程序:clearclcnStar=1;nNUM=164;Background=double(rgb2gray(imread(['car(',int2str(nStar),').bmp'])));%第一帧当做初始背景%背景更新过程,其中int2str将整型常量转为字符串fork=nStar+1:1:nNUMCurrentImage=double(rgb2gray(imread(['car(',int2str(k),').bmp'])));%当前帧FormerImage=double(rgb2gray(imrea

2、d(['car(',int2str(k-1),').bmp'])));%前一帧ID=uint8(abs(CurrentImage-FormerImage));%帧间差分%选择阈值T=yuzhi(ID);%迭代法计算二值化阈值,比较耗时BW=im2bw(ID,T/255);%更新背景alpha=0.1;%背景更新的速度CurrentBack=Background.*BW+(alpha.*CurrentImage+(1-alpha).*Background).*(1-BW);%前后两帧有变化的区域不更新,无变化的区域更新到背景中去Bac

3、kground=CurrentBack;%背景更新完毕Cut=abs(CurrentImage-Background);%前景与背景差分Cut=uint8(Cut);Tcut=yuzhi(Cut);%迭代法计算二值化阈值,比较耗时BWCut=im2bw(Cut,Tcut/255);%差分后的图像进行二值化SE=[111;111;111];%结构元素BWCutero=imerode(BWCut,SE);%对二值图像进行腐蚀,以消除微小变动的区域BWCuterodil=bwmorph(BWCutero,'dilate',3);%膨胀fi

4、gure(1),imshow(BWCuterodil),title('差分后的二值化图像')figure(2),imshow(imread(['car(',int2str(k),').bmp']))[L,nm]=bwlabel(BWCuterodil,8);%找出图像中的八连通区域,视为车辆所在的区域fori=1:nm[r,c]=find(L==i);left=min(c);right=max(c);top=min(r);buttom=max(r);width=right-left+1;height=buttom-top+1;rec

5、tangle('Position',[left,top,width,height],'EdgeColor','r');%对车辆用矩形标记pause(0.01);endend%用来计算灰度图像二值化时的阈值,采用迭代法functionm=yuzhi(Imgray)mingray=min(min(Imgray));maxgray=max(max(Imgray));m=double(mingray)/2+double(maxgray)/2;%初始分割阈值while1a=find(Imgray<=m);A=sum(Imgray(a))/le

6、ngth(a);b=find(Imgray>m);B=sum(Imgray(b))/length(b);n=(A+B)/2;ifabs(m-n)<1break;elsem=n;endend

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。