function car_park_managerment
% persistent list;
capacity=100;
a=0;
list=[];
editFlag=0;
% global axes1;
% global axes2;
% list=[list,car(1,'gffg')];
% list=[list,car(1,'gfdsggddf')]
% clear,clc%要保留重要变量注释此处
f=figure('Visible','off','color','white','Position',[360 500 1200 720]);
axes1 = axes('Parent',f,'Position',[0.52 0.56 0.4 0.32]);
axes2 = axes('Parent',f,'Position',[0.52 0.17 0.4 0.32]);
% axes3 = axes('Parent',f,'Position',[0.05 0.06 0.42 0.45]);
axes1.YAxis.Visible = 'off';
axes1.XAxis.Visible = 'off';
axes2.YAxis.Visible = 'off';
axes2.XAxis.Visible = 'off';
set(f,'Name','停车场管理系统(模拟)')
movegui(f,'center')
% data={'aa',3,5}
cnames = {'车牌号码(licenseNumber)','出入情况(Access)','操作时间(ActionTime)'};
global uitableRecord;
uitableRecord=uitable(f,'Data',[],'Position',[40 30 470 360],'ColumnName',cnames);
set(uitableRecord,'ColumnEditable',true)
% uitableRecord.Position(3) = uitableRecord.Extent(3);
% uitableRecord.Position(4) = uitableRecord.Extent(4);
text11=uicontrol('Style','text','BackgroundColor','w','Position',...
[30 650 120 50],'String','计费规则:2元/小时','ForegroundColor','r');
text22=uicontrol('Style','text','BackgroundColor','w','Position',...
[0 470 180 150],'String','','FontSize',12,'ForegroundColor','r');
button1=uicontrol('Style','pushbutton','BackgroundColor',[0.3 0.9 0.9],'Position',...
[190 620 160 42],'String','模拟汽车进出','FontSize',18,'Callback',@callbackfn);
% textEdit=uicontrol('Style','edit','BackgroundColor','w','Position',...
% [620 80 160 36],'String','输入车牌号','FontSize',12,'ForegroundColor','g');
buttonEdit=uicontrol('Style','pushbutton','BackgroundColor',[0.3 0.9 0.9],'Position',...
[620 40 160 36],'String','修改车牌信息','FontSize',14,'Callback',@callbackEdit);
% textSearch=uicontrol('Style','edit','BackgroundColor','w','Position',...
% [800 80 160 36],'String','输入车牌号','FontSize',12,'ForegroundColor','g');
buttonSearch=uicontrol('Style','pushbutton','BackgroundColor',[0.3 0.9 0.9],'Position',...
[800 40 160 36],'String','查询车辆去留信息','FontSize',14,'Callback',@callbackSearch);
buttonExportExcel=uicontrol('Style','pushbutton','BackgroundColor',[0.3 0.9 0.9],'Position',...
[980 40 160 36],'String','导出记录excel','FontSize',14,'Callback',@callbackExportExcel);
text1=uicontrol('Style','text','BackgroundColor',[0.3 0.6 0.9],'Position',...
[84 510 81 21],'String','入','FontSize',13);
text2=uicontrol('Style','text','BackgroundColor',[0.3 0.6 0.9],'Position',...
[370 510 81 21],'String','出','FontSize',13);
text3=uicontrol('Style','text','BackgroundColor','w','Position',...
[10 435 270 60],'String','','FontSize',12,'ForegroundColor','r');
text4=uicontrol('Style','text','BackgroundColor','w','Position',...
[280 435 270 60],'String','','FontSize',12,'ForegroundColor','r');
text5=uicontrol('Style','text','BackgroundColor','w','Position',...
[0 400 270 21],'String',['当前汽车数量:' num2str(a)],'FontSize',12,'ForegroundColor','b');
text6=uicontrol('Style','text','BackgroundColor','w','Position',...
[270 400 270 21],'String',['剩余车库容量:' num2str(capacity)],'FontSize',12,'ForegroundColor','b');
set(f,'Visible','on')
function callbackfn(source,eventdata)
% set(text3,'String','测试改变文本')
cla(axes1)
cla(axes2)
axes1.YAxis.Visible = 'off';
axes1.XAxis.Visible = 'off';
axes2.YAxis.Visible = 'off';
axes2.XAxis.Visible = 'off';
[fn pn]=uigetfile('*.jpg','选中一张车牌图像');
if fn==0
return
end
[II r2 f_list]=main([pn fn]);%调用车牌识别Matlab程序
for k=1:length(f_list)
close(f_list(k))
end
% axes1 = axes('Parent',f,'Position',[0.45 0.54 0.4 0.32]);
axes(axes1)
imshow(imread([pn fn]),[0,255]); text(32,-22, '原始图象','Color','b');
% axes2 = axes('Parent',f,'Position',[0.45 0.15 0.4 0.32]);
axes(axes2)
imshow(II,[0,255]); text(32,-12, ['处理后图象 ','识别结果:',r2],'Color','r');
axes1.YAxis.Visible = 'off';
axes1.XAxis.Visible = 'off';
axes2.YAxis.Visible = 'off';
axes2.XAxis.Visible = 'off';
flag=0;
for ii=1:length(list)
if list(ii).license_car_number==r2 %检查数据库(list)是否存储有该车牌号码数据
break;
else
flag=flag+1;
end
end
if flag==length(list) %检查数据库(list)没有存储有该车牌号码数据,则开始往数据库list存储该车牌号码数据
list=[list,car(0,r2)];
list(length(list)).timeRecord_in=clock;
end
for j=1:length(list)
if list(j).license_car_number==r2
if list(j).edit_license_car_number~=0
r2=list(j).edit_license_car_number;
end
if list(j).times==0
list(j).times=1;
list(j).timeRecord_in=clock;
set(text3,'String',[r2,sprintf('\n'),'车主您已驶入本停车场',sprintf('\n'),datestr(list(j).timeRecord_in,31)])
set(text4,'String',[])
set(text22,'String',[])
a=a+1;
capacity=capacity-1;
set(text5,'String',['当前汽车数量:' num2str(a)]);
set(text6,'String',['剩余车库容量:' num2str(capacity)]);
newArray={r2,'入',datestr(list(j).timeRecord_in,31)};
oldData=get(uitableRecord,'Data');
newData=[oldData;newArray];
set(uitableRecord,'Data',newData);
editFlag=j;
else
list(j).times=0;
list(j).timeRecord_out=clock;
set(text4,'String',[r2,sprintf('\n'),'车主您已驶出本停车场',sprintf('\n'),datestr(list(j).timeRecord_out,31)])
set(text22,'String',['共停留',num2str(etime(list(j).timeRecord_out,list(j).timeRecord_in)/3600+1),'小时',sprintf('\n'),'收您停车费用:',num2str((etime(list(j).timeRecord_out,list(j).timeRecord_in)/3600+1)*2),'元'])
set(text3,'String',[])
a=a-1;
capacity=capacity+1;
set(text5,'String',['当前汽车数量:' num2str(a)]);
set(text6,'String',['剩余车库容量:' num2str(capacity)]);
newArray={r2,'出',datestr(list(j).timeRecord_out,31)};
oldData=get(uitableRecord,'Data');
newData=[oldData;newArray];
set(uitableRecord,'Data',newData);
editFlag=j;
end
end
end
end
function callbackExportExcel2(source,eventdata)
prompt={'a','b','c'};
title='请输入数据';
lines=[1,1,1];
def={'sdf','5','5'};
tab=inputdlg(prompt,title,lines,def);
nr1=tab{1};
nr2=tab{2};
nr3=tab{3};
newArray={nr1,nr2,nr3};
oldData=get(uitableRecord,'Data');
newData=[oldData;newArray];
set(uitableRecord,'Data',newData);
end
function callbackEdit(source,eventdata)
if editFlag==0
msgbox('未有车辆进出,不能修改!','Prompt');
else
prompt={'原车牌号码:','改动车牌号码:'};
title='请输入数据';
def={list(editFlag).license_car_number,''};
tab=inputdlg(prompt,title,[1 30;1 30],def);
lcn=tab{2};
list(editFlag).edit_license_car_number=lcn;
data=get(uitableRecord,'Data');
[r1 c1]=size(data);
data(r1,:)=[];
set(uitableRecord,'Data',data);
if list(editFlag).times==1
newRow={list(editFlag).edit_license_car_number,'入',datestr(list(editFlag).timeRecord_in,31)};
newData=[data;newRow];
set(uitableRecord,'Data',newData);
set(text3,'String',[list(editFlag).edit_license_car_number,sprintf('\n'),'车主您已驶入本停车场',sprintf('\n'),datestr(list(editFlag).timeRecord_in,31)])
else
没有合适的资源?快使用搜索试试~ 我知道了~
Matlab车牌识别&停车场车辆
共89个文件
jpg:62个
m:17个
mat:4个
5星 · 超过95%的资源 需积分: 47 39 下载量 131 浏览量
2020-07-08
21:50:57
上传
评论 12
收藏 816KB ZIP 举报
温馨提示
Matlab车牌识别&停车场车辆进出管理系统
资源推荐
资源详情
资源评论
收起资源包目录
test.zip (89个子文件)
test
t01.m 2KB
main.m 7KB
car.m 301B
qiege.m 400B
getword.m 736B
ggui.m 394B
a.mat 177B
characterTemplate
B.jpg 868B
4.jpg 12KB
H.jpg 468B
辽.jpg 717B
Y.jpg 668B
浙.jpg 787B
ԥ.jpg 918B
c2.jpg 868B
k.jpg 764B
c3.jpg 559B
G.jpg 12KB
0.jpg 716B
桂.jpg 880B
c6.jpg 858B
M.jpg 817B
京.jpg 14KB
³.jpg 856B
X.jpg 780B
黑.jpg 903B
D.jpg 714B
I.jpg 11KB
T.jpg 11KB
c1.jpg 883B
N.jpg 12KB
P.jpg 656B
F.jpg 538B
W.jpg 12KB
c7.jpg 851B
c5.jpg 855B
V.jpg 793B
c4.jpg 866B
3.jpg 839B
J.jpg 559B
L.jpg 535B
C.jpg 771B
A.jpg 803B
6.jpg 782B
粤.jpg 767B
Z.jpg 12KB
1.jpg 11KB
Q.jpg 12KB
7.jpg 583B
E.jpg 12KB
9.jpg 778B
O.jpg 12KB
陕.jpg 867B
S.jpg 12KB
R.jpg 812B
苏.jpg 824B
2.jpg 764B
U.jpg 12KB
8.jpg 866B
5.jpg 836B
pushbutton1_Callback.m 2KB
Matlab_GUI.prj 7KB
car_park_managerment.m 10KB
mm.mat 179B
Matlab_GUI.m 4KB
prompt.m 142B
ht.m 53B
p3.jpg 53KB
gantrycrane.png 131KB
p7.jpg 109KB
q.mat 175B
定位裁剪车牌图像.jpg 4KB
a.xls 25KB
testTime.m 97B
p4.jpg 42KB
p2.jpg 46KB
coins.png 37KB
m1.mat 179B
gray2rgb.m 2KB
p1.jpg 29KB
excelTest.m 37B
s2.m 6B
ca.m 19B
Untitled3.m 269B
p8.jpg 34KB
p6.jpg 54KB
liftingbody.png 122KB
p5.jpg 35KB
record.xls 169B
共 89 条
- 1
资源评论
- 华亿2023-07-28,我是一个语言模型AI,我无法使用Matlab软件进行车牌识别。然而,Matlab是一种强大的计算机编程语言和环境,可以用于图像处理和模式识别。您可以使用Matlab的图像处理工具箱或基于深度学习的方法来进行车牌识别。
QuanSirX
- 粉丝: 1467
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功