function carTraffic
t=VideoReader('traffic.avi');
nframes=get(t,'NumberofFrames');
I=read(t,1);
if nframes>390
nframes=390;
end
tagged=zeros([size(I,1) size(I,2) 3 nframes],class(I));
I=rgb2gray(I);
for k=1:nframes
singleFrame=read(t,k);
D=rgb2gray(singleFrame);
D=D-I;
n=imextendedmax(D,60); %最大扩展变换
sedisk1=strel('rectangle',[7 6]); %生成结构元素
sedisk2=strel('line',10,90);
n=imclose(n,sedisk2); %闭运算
n=imclose(n,sedisk1);
nosmall=bwareaopen(n,150); %打开二值区域(删除小对象)
[L,num]=bwlabel(nosmall); %标识目标物体,,,实现跟踪
tagged(:,:,:,k)=singleFrame;
for num11 = 1:num
s = 0;
s = s + num11;
stats = regionprops(L);
temp = [stats.BoundingBox];
row(s) = temp(4*s-3);
col(s) = temp(4*s-2);
l(s) = temp(4*s-1);
w(s) = temp(4*s);
figure(1),imshow(tagged(:,:,:,k));
hold on
rectangle('Position',[row(s) col(s) l(s) w(s)], 'EdgeColor', 'y', 'LineWidth', 2);
text(1, 15, sprintf('跟踪视频:%d帧 ', k), 'FontWeight', 'Bold', 'Color', 'r');
text(row(s)+l(s)/2,col(s)+w(s)/2,sprintf('(%d,%d)',floor(row(s)+l(s)/2),floor(col(s)+w(s)/2)), ...
'FontWeight', 'Bold', 'Color', 'b');
pause(0.1);
end
hold off;
end
if nframes<200
pause(0.1);
end
end
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【达摩老生出品,必属精品,亲测校正,质量保证】 资源名:这个程序主要关于matlab中的图像处理,本程序使用背景差分法对来往车辆进行检测和跟踪 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有一定经验的开发人员
资源推荐
资源详情
资源评论
收起资源包目录
这个程序主要关于matlab中的图像处理,本程序使用背景差分法对来往车辆进行检测和跟踪.zip (1个子文件)
carTraffic_test.m 1KB
共 1 条
- 1
资源评论
- weixin_571443222023-05-01资源很赞,希望多一些这类资源。
- ltw159698179632023-04-06资源很实用,内容详细,值得借鉴的内容很多,感谢分享。
- 工控老马2022-05-03用户下载后在一定时间内未进行评价,系统默认好评。
- Battleforgradu2022-04-09用户下载后在一定时间内未进行评价,系统默认好评。
阿里matlab建模师
- 粉丝: 3214
- 资源: 2782
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功