【目标检测】基于背景差分法实现车辆检测附matlab代码

1 简介

运动目标的检测是数字图像处理和模式识别以及计算机视觉领域研究的主要内容之一,也是计算机视觉研究的一个重要领域.对基于背景差分法的视频目标检测的算法进行了研究.以Matlab为主体研究工具,对视频中的运动目标进行检测.对背景差分法的原理和算法进行了研究,并对其进行了详细的讨论和分析.利用中值滤波背景模型来提取背景,并对目标的阴影进行检测与抑制.实验结果表明,采用该算法对运动目标进行检测具有良好的准确性和稳定性.

背景差分法的原理是利用当前图像与背景图像的差分以提取运动区域的一种运动检测方法。根据灰度等特征的变化来判断,即利用当前图像与背景做差分,若差分值大于某一阈值时,则认为检测到目标。在背景差分算法中,背景图像选取的准确性直接导致最后目标检测的精确性。理想状况下,一般认为背景图像保持静止,并且当运动目标区域的像素值发生变化时,背景的像素值保持不变。背景差分法的公式为:

2 部分代码

clcclearclose all%获取帧图像video_path='video.avi';%把视频放到程序的文件夹,这里填视频名即可video_obj=VideoReader(video_path);frameNum=video_obj.NumFrames;file_name='image_run';%新建文件夹名称if ~exist(file_name,'dir')%如果没有这个文件夹    mkdir(file_name);%那就新建一个这个文件夹endfor i=1:frameNum    image_name=strcat('./',file_name,'/im_',num2str(i),'.png');%用字符串和数字组合图片的路径+文件名    frame=read(video_obj,i);    imwrite(frame,image_name,'png');%写入图像文件endthreshold=20;%差分阀值    imshow(originalPic)    rectangle('position',max_rect,'EdgeColor','r');%找到边界赋值对应边界为红色    chafen1_name=strcat('./',file_name2,'/im_',num2str(p),'.png');%用字符串和数字组合图片的路径+文件名    imwrite(originalPic,chafen1_name,'png');endwriterObj=VideoWriter('动态检测_run.avi');%定义一个视频文件用来存动画open(writerObj);%打开该视频文件for p=1:frameNum-1    framename=strcat('./',file_name2,'/im_',num2str(p),'.png');%组合图片的路径+文件名    frame=imread(framename);    writeVideo(writerObj,frame);%把帧写入视频endclose(writerObj);%关闭视频文件句柄disp('完成检测');

3 仿真结果

4 参考文献

[1]汪国强, 盖琪琳, 于怀勇,等. 基于背景差分法的视频目标检测算法研究[J]. 黑龙江大学工程学报, 2014, 5(4):5.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值