✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
⛄ 内容介绍
对交通灯的识别主要基于对交通灯的色彩及形状特征.基于信号灯的亮度对其进行分割,提取,并设置了一种自动最优选择阈值的方法.再由HIS彩色空间的H信息识别颜色.最后根据二值化的交通灯的横坐标和纵坐标方向的投影进行形状匹配识别.
⛄ 部分代码
function varargout = Traffic_Iden(varargin)
% TRAFFIC_IDEN MATLAB code for Traffic_Iden.fig
% TRAFFIC_IDEN, by itself, creates a new TRAFFIC_IDEN or raises the existing
% singleton*.
%
% H = TRAFFIC_IDEN returns the handle to a new TRAFFIC_IDEN or the handle to
% the existing singleton*.
%
% TRAFFIC_IDEN('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in TRAFFIC_IDEN.M with the given input arguments.
%
% TRAFFIC_IDEN('Property','Value',...) creates a new TRAFFIC_IDEN or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before Traffic_Iden_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to Traffic_Iden_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 Traffic_Iden
% Last Modified by GUIDE v2.5 08-Jan-2023 14:55:07
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Traffic_Iden_OpeningFcn, ...
'gui_OutputFcn', @Traffic_Iden_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 Traffic_Iden is made visible.
function Traffic_Iden_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 Traffic_Iden (see VARARGIN)
% Choose default command line output for Traffic_Iden
handles.output = hObject; %下面全部为设定作图区域属性
handles.cd0 = cd;
handles.Color = 0;
handles.I = [];
axes(handles.axes1);
set(gca,'Xtick',[]);
set(gca,'Ytick',[]);
box on;
axes(handles.axes2);
set(gca,'Xtick',[]);
set(gca,'Ytick',[]);
box on;
axes(handles.axes3);
set(gca,'Xtick',[]);
set(gca,'Ytick',[]);
box on;
axes(handles.axes4);
set(gca,'Xtick',[]);
set(gca,'Ytick',[]);
box on;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes Traffic_Iden wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = Traffic_Iden_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;
% --- Executes on button press in radiobutton3.
function radiobutton3_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton3
% --- Executes on button press in radiobutton4.
function radiobutton4_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton4
% --- Executes on button press in radiobutton5.
function radiobutton5_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton5
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
%% 读图,图像gui按钮一,进行读图处理
[filename, cd1] = uigetfile( ...
{'*.tif;*.TIF;*.JPG;*.jpg;*.bmp;*.BMP;*.jpeg;*.JPEG;','Image file';...
'*.*', 'All file (*.*)'},'Pick an Image'); %定义文件后缀
axes(handles.axes1);
cla; %定义作图区域
axes(handles.axes2);
cla; %定义作图区域
axes(handles.axes3);
cla; %定义作图区域
axes(handles.axes4);
cla; %定义作图区域
if filename %文件路径
cd(cd1);
d = imread(filename); %读取文件名
cd(handles.cd0);
handles.I = d; %定义句柄
handles.sin=d;
axes(handles.axes1); %设置作图区域为1
imshow(d); %展示图片
handles.filename = filename; %设置句柄
box on;
end
handles.Color = 0;
cd(handles.cd0);
set(handles.text2,'string',''); %显示空字符
guidata(hObject, handles);
⛄ 运行结果
⛄ 参考文献
[1] 朱玥凝.基于Matlab图像识别的交通信号灯智能控制[J].信息通信, 2016(11):2.DOI:10.3969/j.issn.1673-1131.2016.11.044.
[2] 张玉宝,赵玮.基于Matlab图像识别的交通信号灯智能控制[J].工业, 2015, 000(025):P.140-140.
[3] 李佳阳,刘奇.基于MATLAB的交通信号灯识别方法[J].甘肃科技, 2016, 32(23):4.DOI:10.3969/j.issn.1000-0952.2016.23.015.