MATLAB智慧车库计时计费系统GUI设计
基于MATLAB的智慧停车场计时计费项目
一、课题介绍
随着汽车数量的增加,城市交通状况日益受到人们的重视,如何进行有效的交通管理更是成为了人们关注的焦点。智能交通系统通过车辆检测装置对过往的车辆实施检测,提取有关交通数据,达到监控、管理和指挥交通的目的。因此,它已成为世界交通领域研究的重要课题。 车牌识别系统作为智能交通系统的一个重要组成部分,已在高速公路、城市交通和停车场等项目的管理中占有无可取代的重要地位。它在不影响汽车状态的情况下,由计算机自动完成车牌的识别,从而降低交通管理工作的复杂度。
该课题为基于MATLAB的汽车出入库识别系统,带有丰富的人机交互GUI界面。目前毕业设计选题中,传统车牌识别不易得到高分,必须要在此基础上有所创新方得可以避开其他雷同课题,,不会轻易被导师被否决。因此建议在车牌识别基础上加入出入库,判别是否为库内车牌,并且实行计时收费。整个设计在一个GUI界面上完成。
传统基础版:中规中矩的车牌识别
靓点1版本:可做成复杂背景的车牌识别
靓点2版本:可做成具备判断是否为库内车牌的案例,并且计时计费(本课题)
靓点3版本:可做成具备语音播报的车牌识别
二、基本流程
车牌识别部分:
①图像预处理:在整个车牌识别系统中,由于采集进来的图像为真彩图,再加上实际采集环境的影响以及采集硬件等原因,图像质量并不高,其背景和噪声会影响字符的正确分割。和识别,所以在进行车牌分割和识别处理之前,需要先对车牌图像进行图像预处理操作。
②车牌定位:首先对车牌的二值图片进行形态学滤波,使车牌区域形成一个连通区域,然后根据车牌的先验知识对所得到的连通区域进行筛选,获取车牌区域的具体位置,完成从图片中提取车牌的任务。
③车牌分割:首先对车牌进行水平投影,去除水平边框;再对车牌进行垂直投影。通过对车牌进行投影分析可知,与最大值峰中心对应的为车牌中第二个字符和第三个字符的间隔,与第二大峰中心距离对应的即为车牌字符的宽度,并以此为依据对车牌进行分割。
④字符识别:本文采用模板匹配方法来对车牌进行识别。识别过程中,首先建立标准字库,再将分割所得到的字符进行归一化,将归一化处理后的字符与标准字库里的字符逐一比较,最后把误差最小的字符作为结果显示出来。
出入库部分:
①汽车入库记录北京时间,车库位数减一;
②汽车出库记录北京时间,车库位数加一;
③计算停车时长,按标准计算停车费用;
三、GUI设计图(学习好GUI,有助于毕业后从事UI界面设计类工作,如深圳创维,康佳,彩虹电视等需要大量该类岗位,适合女孩子居多,该类工作居于程序员和文员之间)
GUI界面设计图
GUI制作说明:GUI是MATLAB的人机交互式GUI界面,有GUI界面,所有操作可在一个界面上完成,可以为毕设增分不少。GUI可在MATLAB命令行窗口输入guide回车快速打开,GUI常用的控件有axes,edit,putton,text几个组件,不同组件之间通过回调函数来进行连接,触发操作,可教学GUI制作,以及友情推荐同类岗位工作。
四、代码附录
1、车牌载入
[filename,filepath]=uigetfile('.jpg','输入车牌图像');% 直接自动读入%
file=strcat(filepath,filename); %strcat函数:连接字符串;把filepath的字符串与filename的连接,即路径/文件名
I=imread(file);
axes(handles.axes1)%让车牌显示在axes1控件中
imshow(I)%显示
title(‘车牌’)
2、图像预处理
I1=rgb2gray(I); %灰度处理
I2=edge(I1,'roberts',0.15,'both'); %边缘检测
se=[1;1;1];
I3=imerode(I2,se);
se=strel('rectangle',[25,25]);
I4=imclose(I3,se); %闭运算,去除杂质影响
I5=bwareaopen(I4,2000); %膨胀操作
3、车牌定位
[y,x,z]=size(I5);
myI=double(I5);
ticwhite_y=zeros(y,1); for i=1:y for j=1:x if(myI(i,j,1)==1) white_y(i,1)= white_y(i,1)+1; end end end [temp MaxY]=max(white_y); PY1=MaxY; while ((white_y(PY1,1)>=5)&&(PY1>1)) PY1=PY1-1; end PY2=MaxY; while ((white_y(PY2,1)>=5)&&(PY2<y)) PY2=PY2+1; end IY=I(PY1:PY2,:,:); white_x=zeros(1,x); for j=1:x for i=PY1:PY2 if(myI(i,j,1)==1) white_x(1,j)= white_x(1,j)+1; end end end PX1=1; while ((white_x(1,PX1)<3)&&(PX1<x)) PX1=PX1+1; end PX2=x; while ((white_x(1,PX2)<3)&&(PX2>PX1)) PX2=PX2-1; end PX1=PX1-2; PX2=PX2+3; dw=I(PY1:PY2-8,PX1:PX2,:); axes(handles.axes2)imshow(dw)title('定位的车牌')
4、字符分割
% 切割出 7 个字符
y1=10;y2=0.25;flag=0;word1=[];
while flag==0 [m,n]=size(d); left=1;wide=0; while sum(d(:,wide+1))~=0 wide=wide+1; end if wide<y1 % 认为是左侧干扰 d(:,[1:wide])=0; d=qiege(d); else temp=qiege(imcrop(d,[1 1 wide m])); [m,n]=size(temp); all=sum(sum(temp)); two_thirds=sum(sum(temp([round(m/3):2*round(m/3)],:))); if two_thirds/all>y2 flag=1;word1=temp; % WORD 1 end d(:,[1:wide])=0;d=qiege(d); end
end
% 分割出第二个字符
[word2,d]=getword(d);
% 分割出第三个字符
[word3,d]=getword(d);
% 分割出第四个字符
[word4,d]=getword(d);
% 分割出第五个字符
[word5,d]=getword(d);
% 分割出第六个字符
[word6,d]=getword(d);
% 分割出第七个字符
[word7,d]=getword(d);
5、字符识别
liccode=char(['0':'9' 'A':'Z' '京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼']);%SubBw2=zeros(40,20);
l=1;
for I=1:7;ii=int2str(I);t=imread([ii,'.jpg']);SegBw2=imresize(t,[40 20],'nearest');SegBw2=double(SegBw2)>20;if l==1 %第一位汉字识别kmin=37;kmax=43;elseif l==2 %第二位字母识别kmin=11;kmax=36;else l>=3 %第三位后字母或数字识别kmin=1;kmax=36;endfor k2=kmin:kmaxfname=strcat('字符模板\',liccode(k2),'.jpg');SamBw2=imread(fname);SamBw2=double(SamBw2)>1;for i=1:40for j=1:20SubBw2(i,j)=SegBw2(i,j)-SamBw2(i,j);endend%相当于两幅图相减得第三幅图Dmax=0;for k1=1:40;for l1=1:20if(SubBw2(k1,l1)>0 || SubBw2(k1,l1)<0)Dmax=Dmax+1;endendendError(k2)=Dmax;endError1=Error(kmin:kmax);MinError=min(Error1);findc=find(Error1==MinError);Code(l*2-1)=liccode(findc+kmin-1);Code(l*2)=' ';l=l+1;
end
t=toc;
set(handles.text4,'string',Code)
源码思路框架GUI设计链接:戳这里下载
五、预期效果图
部分运行效果图
MATLAB智慧车库计时计费系统GUI设计相关推荐
- 基于matlab的汽车出入库计时计费系统的设计
基于matlab的汽车出入库计时计费系统的设计 压缩包,直接可用 ID:34111641989264158纯粹july
- 基于matlab的自动人脸识别系统GUI设计
基于matlab的自动人脸识别系统GUI设计 之前做的一个课设项目半成品,一边网上找资料一边自己瞎捣鼓,完成了GUI界面的设计,实时视频中的人脸检测和追踪,PCA算法训练,单张人脸识别.但是识别率比较 ...
- 基于MATLAB的小波变换数字图像水印系统GUI设计与实现
摘 要 通过对数字水印的原理和算法的分析,了解信息隐藏的实现手段与效果.在信息加载和提取过程中,突破传统的加密技术,用更具专业性的检测手段来保护专属的信息产权.本文利用了水印良好的鲁棒性和不可感知性, ...
- MATLAB美图秀秀系统GUI设计[完美运行,GUI界面,详细教程,万字文稿]
课题名称 基于MATLAB的美图秀秀系统GUI设计 GUI框架链接:matlab美图秀秀[GUI,磨皮,白平衡,特效].zip_matlabGUI制作美图秀秀界面-专业指导文档类资源-CSDN下载 课 ...
- matlab演示系统,基于Matlab的通信原理演示系统的设计与应用
基于 Matlab的通信原理演示系统的设计与应用 李 强 , 明 艳 , 吴坤君 (重庆邮电大学 通信学院 , 重庆 400065) 摘 要 : 利用 Matlab图形用户界面的开发环境和强大的通信仿 ...
- matlab心电信号处理,基于Matlab的心电信号自动处理系统的设计与开发 毕业论文设计.doc...
您所在位置:网站首页 > 海量文档  > 计算机 > matlab 基于Matlab的心电信号自动处理系统的设计与开发 ...
- java电信计费项目论文_电信计费系统的设计与实现毕业论文.doc
电信计费系统的设计与实现毕业论文 毕业设计(论文)任务书 毕业设计(论文)题目: 电信计费系统的设计与实现 毕业设计(论文)要求及原始数据(资料): 1.综述国内外电信计费系统的技术研究现状: 2.介 ...
- STM32单片机的智能充电桩计费系统的设计(程序+原理图+论文报告)
本设计: 基于STM32单片机的智能充电桩计费系统的设计(程序+原理图+论文报告) 原理图:Altium Designer 程序编译器:keil 5 编程语言:C语言 编号C0022 [腾讯文档]C0 ...
- Java毕业设计 之 [含源码等]车库停车计费系统[包运行成功]
<车库停车计费系统> 该项目采用技术: 后台采用了ssm框架 前台使用html+css+js+freemarker 使用了mysql数据库+tomcat服务器,项目含有源码.文档.配套开发 ...
最新文章
- 深入理解IPyton以及Jupyter Notebook中的%time以及%timeit的作用
- python重现 mysql server has gone away错误以及解决方案
- 【Python-ML】神经网络激励函数-Softmax
- win7如何设置通电自动开机_电脑自动开机,教您怎么设置电脑自动开机
- MySQL中文全文检索
- 小程序实现图片的放大预览
- POJ 2483 Cows(树状数组)
- npm 发布一个全局的指令
- /proc/cpuinfo_Linux中的/ proc / cpuinfo和/ proc / meminfo文件
- python-socket作业
- Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块
- ICT融合和创新带来制造业的持续变革
- 运用windows shell修复Wannacry漏洞
- 关键点检测方法、人体姿态估计
- Tarena - 基础查询
- 【算法•日更•第十四期】信息奥赛一本通1592:【例 1】国王题解
- 数据科学库(HM)DAY 2
- springMVC开发过程中遇到的404错误的两种情况总结
- 网页文档输出、对话框
- 购买域名之后如何设置DNS,DNS解析原理与dig命令使用