资源简介
通过MATLAB创建系统对象,用于读入待处理视频,用于色彩空间转换、检测出包含汽车运动的图像块、用高斯混合模型检测背景、对检测出的运动车辆进行框画、标注检测到车辆的个数用于显示结果。目标跟踪方法对车辆进行定位,确定了车辆的位置后, 就可以根据位置信息进一步获取车辆的颜色信息。

代码片段和文件信息
clear;close all;
SE = strel(‘rectangle‘[10 10]); %注意:结构元素必须具有适当的大小
BW1=imread(‘test5.jpg‘);
subplot(221);imshow(BW1);title(‘原图‘);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%添加
GRAY=rgb2gray(BW1); %灰度图像
h=fspecial(‘average‘9);
GRAY=uint8(round(filter2(hGRAY))); %进行均值滤波
subplot(222);imshow(GRAY);title(‘均值滤波‘);
GRAY = imcrop(GRAY[10 20 542 355]); %裁剪
GRAY=double(GRAY); %转换为double类型
[GxGy]=gradient(GRAY); % 计算梯度
G=sqrt(Gx.*Gx+Gy.*Gy); % 水平垂直差分
J=GRAY;
K=find(G<2); %指定灰度级
J(K)=0;
subplot(223);imshow(J);title(‘锐化‘);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
BW2=imdilate(JSE);%膨胀
BW3 = imfill(BW2‘holes‘); %填充
BW4=imerode(BW3SE);%腐蚀
I=im2bw(BW4);
subplot(224);imshow(I);title(‘目标块‘);
%====形态特征值计算===%
A=bwarea(I); % 计算目标的面积
I1=edge(I‘canny‘0.7);
[L num]=bwlabel(I18);%存放提取的目标矩阵和数目
STATS = regionprops(L‘BoundingBox‘);
% 存放经过筛选以后得到的所有矩形块
n = 1;
wh=zeros(1num);
for i=1:num
box = STATS(i).BoundingBox; %图像的长宽
x = box(1); %矩形坐标x
y = box(2); %矩形坐标y
w = box(3); %矩形宽度w
h = box(4); %矩形高度h
wh(1i)=w*h;
ux = ceil(x); %取整
uy = ceil(y);
if ux > 1
ux = ux - 1;
end
if uy > 1
uy = uy - 1;
end
%result(n:) = [ux uy w h];
R=zeros(hw);
G=zeros(hw);
B=zeros(hw);
for j=1:w
for ii=1:h
R(iij)=BW1(ii+uy-1j+ux-11);
G(iij)=BW1(ii+uy-1j+ux-12);
B(iij)=BW1(ii+uy-1j+ux-13);
end
end
% r(1n)=mean(mean(R))
% g(1n)=mean(mean(G))
% b(1n)=mean(mean(B))
% n = n+1;
r(1i)=mean(mean(R));
g(1i)=mean(mean(G));
b(1i)=mean(mean(B));
if(r(1i)>130&&g(1i)<130&&b(1i)<130)
disp(‘检测出车辆是红色‘)
elseif(r(1i)<130&&g(1i)>130&&b(1i)<130)
disp(‘检测出车辆是绿色‘)
elseif(r(1i)<130&&g(1i)<130&&b(1i)>130)
disp(‘检测出车辆是蓝色‘)
elseif(r(1i)<80&&g(1i)<80&&b(1i)<80)
disp(‘检测出车辆是黑色‘)
elseif(r(1i)>170&&g(1i)>170&&b(1i)>170)
disp(‘检测出车辆是白色‘)
else
disp(‘检测出车辆是其他色‘)
end
end
status_orig = regionprops(L ‘basic‘);% 判断目标个数
allArea=[status_orig.Area];
disp(‘检测出车辆数目是‘);disp(num);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2529 2015-05-18 11:34 matlab\cunt.m
文件 2896 2015-05-18 10:41 matlab\example6.m
文件 87703 2011-05-29 18:31 matlab\test5.JPG
文件 208896 2005-04-04 13:17 matlab\viptraffic.avi
目录 0 2015-05-18 11:43 matlab\
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论