% ******************************************************
% author: 邓雅文
% title : 车牌识别
% *******************************************************
function varargout = CarId(varargin)
% CARID MATLAB code for CarId.fig
% CARID, by itself, creates a new CARID or raises the existing
% singleton*.
%
% H = CARID returns the handle to a new CARID or the handle to
% the existing singleton*.
%
% CARID('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in CARID.M with the given input arguments.
%
% CARID('Property','Value',...) creates a new CARID or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before CarId_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to CarId_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help CarId
% Last Modified by GUIDE v2.5 01-Apr-2023 12:44:28
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ... %模式
'gui_OpeningFcn', @CarId_OpeningFcn, ...
'gui_OutputFcn', @CarId_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
%%
% --- Executes just before CarId is made visible.
function CarId_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to CarId (see VARARGIN)
% Choose default command line output for CarId
handles.output = hObject;
%隐藏坐标轴
set(handles.axes1,'visible','off');
set(handles.axes2,'visible','off');
set(handles.axes3,'visible','off');
set(handles.axes4,'visible','off');
set(handles.axes5,'visible','off');
set(handles.axes6,'visible','off');
set(handles.axes7,'visible','off');
set(handles.axes8,'visible','off');
set(handles.axes9,'visible','off');
set(handles.axes10,'visible','off');
set(handles.axes11,'visible','off');
set(handles.axes12,'visible','off');
set(handles.axes14,'visible','off');
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes CarId wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = CarId_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
%%
%======================my code========================%
function openLocal_Callback(hObject,eventdata,handles)
%关于uigetfile
%打开一个模态对话框,其中列出了当前文件夹中的文件。用户可以在这里选择或输入文件的名称。如果文件存在并且有效,当用户点击打开时,uigetfile
%将返回文件名。如果用户点击取消或窗口关闭按钮 (X),uigetfile 将返回 0。
[filename, pathname]=uigetfile({'*.jpg; *.png; *.bmp; *.tif';'*.png';'All Image Files';'*.*'},'请选择图片路径');
if pathname==0
return;
end
I=imread([pathname filename]);
%显示原图
axes(handles.axes1) %将Tag值为axes1的坐标轴置为当前
imshow(I,[]); %解决图像太大无法显示的问题.why?貌似会自动缩放
title('原图');
handles.I=I; %更新图像
% Update handles structure
guidata(hObject, handles);
%% 功能开关选择
function checkbox1_Callback(hObject, eventdata, handles) %#ok<*INUSD>
if ( get(hObject,'Value') )
handles.FunctionSwitch= 1; %#ok<*NASGU>
else
handles.FunctionSwitch= 0;
end
guidata(hObject, handles);
%%
%下面在使用原图方法: handles.I
%预处理 进行灰度处理和边缘检测
function btnGray1_Callback(hObject, eventdata, handles) %#ok<*INUSL>
I=handles.I;
I = rgb2gray(I);
axes(handles.axes2) %将Tag值为axes1的坐标轴置为当前
imshow(I,[]); %解决图像太大无法显示的问题
title('预灰度处理');
figure,imhist(I);title('灰度图直方图');
handles.gray1=I; %更新原图
% Update handles structure
guidata(hObject, handles);
%%
% 边缘检测.
function btnEdge_Callback(hObject, eventdata, handles)
I=handles.gray1;
% 关于edge
% 指定要检测的边缘的方向。Sobel 和 Prewitt 方法可以检测垂直方向和/或水平方向的边缘。
% Roberts 方法可以检测与水平方向成 45 度角和/或 135 度角的边缘。
% 第三个参数为二值化阈值,把比该值大的置为1
% 仅当 method 是 'Sobel'、'Prewitt' 或 'Roberts' 时,此语法才有效。
if handles.FunctionSwitch==1
edit2_a=get(handles.edit2,'string');
edit2_aa=str2double(edit2_a);
I = edge(I, 'Sobel', edit2_aa, 'both');
axes(handles.axes3) %将Tag值为axes1的坐标轴置为当前
imshow(I,[]); %解决图像太大无法显示的问题.
title('预处理边缘检测');
else
axes(handles.axes3) %将Tag值为axes1的坐标轴置为当前
imshow(I,[]); %解决图像太大无法显示的问题.
title('跳过边缘检测');
end
handles.edge=I; %更新原图
% Update handles structure
guidata(hObject, handles);
%% 边缘检测参数调试
function edit2_Callback(hObject, eventdata, handles)
guidata(hObject, handles);
%% 车牌定位
% 图像腐蚀.
function btnFushi_Callback(hObject, eventdata, handles)
I=handles.edge;
% 关于imerode() 腐蚀图像
% J = imerode(I,SE) 腐蚀灰度图像、二值图像或压缩二值图像 I,返回腐蚀图像 J。
% SE 是结构元素对象或结构元素对象的数组,由 strel 或 offsetstrel 函数返回。
if handles.FunctionSwitch==1
%se=[1;1;1];
edit3_a=get(handles.edit3,'string');
edit3_aa=round(str2double(edit3_a));
SE = strel('rectangle',[edit3_aa,1]);
I = imerode(I, SE);
axes(handles.axes4) %将Tag值为axes1的坐标轴置为当前
imshow(I,[]); %解决图像太大无法显示的问题
title('车牌定位图像腐蚀');
else
axes(handles.axes4) %将Tag值为axes1的坐标轴置为当前
imshow(I,[]); %解决图像太大无法显示的问题
title('跳过图像腐蚀');
end
handles.Fushi=I; %更新原图
guidata(hObject, handles);
%% 车牌定位
% 平滑处理
function btnSoft_Callback(hObject, eventdata, handles)
I=handles.Fushi;
% imclose函数,即闭运算:用结构元素对图像先膨胀,再腐蚀。
% 闭运算可以用来融合窄的缺口和细长的弯口,去掉小洞,填补轮廓上的缝隙
% 本部分的结构元素采用一个大小为 [n n] 的矩形结构
if handles.FunctionSwitch==1
edit4_a=get(handles.edit4,'string');
edit4_aa=round(str2double(edit4_a));
se = strel('rectangle', [edit4_aa, edit4_aa]);
I = imclose(I, se); %使用闭运算进行平滑处理
axes(handles.axes5) %将Tag值为axes1的坐标轴置为当前
imshow(I,[]); %解决图像太大无法显示的问题
tit
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
数字图像处理大作业-matlab实现的蓝绿黄白四色车牌识别源码(高分项目),含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 数字图像处理大作业-matlab实现的蓝绿黄白四色车牌识别源码(高分项目),含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 数字图像处理大作业-matlab实现的蓝绿黄白四色车牌识别源码(高分项目),含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 数字图像处理大作业-matlab实现的蓝绿黄白四色车牌识别源码(高分项目),含有代码注释
资源推荐
资源详情
资源评论
收起资源包目录
数字图像处理大作业,蓝绿黄白四色车牌识别(matlab).zip (87个子文件)
文件夹main
License_plate_recognition
2.jpg 818B
6.jpg 817B
CarId_App.mlapp 459KB
1.jpg 854B
CarId.m 32KB
5.jpg 813B
my_imsplit.m 777B
8.jpg 802B
model
Y.jpg 668B
辽.jpg 14KB
粤.jpg 812B
C.jpg 771B
苏.jpg 797B
2.jpg 12KB
E.jpg 618B
Z.jpg 12KB
N.jpg 794B
贵.jpg 898B
湘.jpg 2KB
6.jpg 777B
S.jpg 12KB
M.jpg 772B
R.jpg 12KB
1.jpg 603B
晋.jpg 2KB
L.jpg 598B
J.jpg 566B
B.jpg 846B
F.jpg 11KB
宁.jpg 2KB
京.jpg 855B
津.jpg 2KB
黑.jpg 2KB
P.jpg 656B
5.jpg 760B
警.jpg 872B
冀.jpg 2KB
0.jpg 660B
T.jpg 11KB
K.jpg 769B
闽.jpg 2KB
赣.jpg 2KB
浙.jpg 19KB
A.jpg 806B
G.jpg 809B
8.jpg 876B
陕.jpg 867B
D.jpg 752B
X.jpg 797B
蒙.jpg 2KB
W.jpg 801B
U.jpg 12KB
川.jpg 2KB
I.jpg 11KB
吉.jpg 2KB
Q.jpg 784B
3.jpg 834B
鲁.jpg 782B
7.jpg 624B
皖.jpg 2KB
O.jpg 12KB
H.jpg 439B
V.jpg 784B
9.jpg 766B
豫.jpg 918B
4.jpg 12KB
getword.m 2KB
3.jpg 810B
7.jpg 791B
中值滤波.jpg 4KB
车牌库
b1.jpg 41KB
g2参数.png 389KB
b2.jpg 276KB
b1参数.png 340KB
g2.png 756KB
g1参数.png 297KB
y1.png 235KB
w1参数.png 279KB
b2参数.png 295KB
carg2.jpg 41KB
y1参数.png 273KB
w1.png 287KB
g1.jpg 45KB
201.jpg 870B
车牌图像.jpg 4KB
CarId.fig 315KB
4.jpg 804B
共 87 条
- 1
资源评论
yava_free
- 粉丝: 2648
- 资源: 753
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- VOS3000是一款功能强大的企业级语音通信系统.docx
- 基于有效利用空间的三维装箱算法C++源码.zip
- 基于MATLAB车牌定位代码【含界面GUI】(1).zip
- 基于MATLAB GUI界面软件源码【GUI含界面】.zip
- msyql 主从配置文件
- 基于MATLAB GUI界面软件设计【GUI含界面】.zip
- 实时监控分析广告数据跳转统计平台系统源码.zip
- python开发基于深度强化学习(DQN)解决三维在线装箱问题源码+项目说明文档+模型.zip
- Java项目: 基于SpringBoot+mybatis+mysql+vue在线课程管理系统(含源码+数据库++毕业论文)
- 最新黑名单查询录入系统-全开源源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功