【车道线检测】基于计算机视觉实现视频车道线检测含Matlab源码

1 简介

  1)图像预处理:依次经过图像灰度变换、二值化、提取感兴趣的区域,最大可能的过滤掉干扰信息;

2)设置连通面积阈值,去除连通面积小的区域,进一步过滤干扰项;

    3)求出车道线的直线方程,得到车辆在车道中的位置。

【车道线检测】基于计算机视觉实现视频车道线检测含Matlab源码_第1张图片

2 部分代码

function varargout = Main(varargin)% MAIN MATLAB code for Main.fig%      MAIN, by itself, creates a new MAIN or raises the existing%      singleton*.%%      H = MAIN returns the handle to a new MAIN or the handle to%      the existing singleton*.%%      MAIN('CALLBACK',hObject,eventData,handles,...) calls the local%      function named CALLBACK in MAIN.M with the given input arguments.%%      MAIN('Property','Value',...) creates a new MAIN or raises the%      existing singleton*.  Starting from the left, property value pairs are%      applied to the GUI before Main_OpeningFcn gets called.  An%      unrecognized property name or invalid value makes property application%      stop.  All inputs are passed to Main_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 Main% Last Modified by GUIDE v2.5 06-May-2022 18:22:36% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name',       mfilename, ...    'gui_Singleton',  gui_Singleton, ...    'gui_OpeningFcn', @Main_OpeningFcn, ...    'gui_OutputFcn',  @Main_OutputFcn, ...    'gui_LayoutFcn',  [] , ...    'gui_Callback',   []);if nargin && ischar(varargin{1})    gui_State.gui_Callback = str2func(varargin{1});endif 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 Main is made visible.function Main_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 Main (see VARARGIN)% Choose default command line output for Mainhandles.output = hObject;clc;warning('off')set(handles.pushbutton2,'enable','off');set(handles.pushbutton3,'enable','off');guidata(hObject, handles);% --- Outputs from this function are returned to the command line.function varargout = Main_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 structurevarargout{1} = handles.output;% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)%% 按钮-关闭视频-global playplay = 0;% 清空重置显示屏cla(handles.axes1,'reset');set(handles.axes1,'Color',[1,1,1]);set(handles.axes1,'XTickLabel',[]);set(handles.axes1,'YTickLabel',[]);set(handles.axes1,'Box','on');function axes1_ButtonDownFcn(hObject, eventdata, handles)% hObject    handle to axes1 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)function edit_Scale_Callback(hObject, eventdata, handles)% hObject    handle to edit_Scale (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit_Scale as text%        str2double(get(hObject,'String')) returns contents of edit_Scale as a double% --- Executes during object creation, after setting all properties.function edit_Scale_CreateFcn(hObject, eventdata, handles)% hObject    handle to edit_Scale (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%       See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))    set(hObject,'BackgroundColor','white');endfunction edit3_Callback(hObject, eventdata, handles)% hObject    handle to edit3 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit3 as text%        str2double(get(hObject,'String')) returns contents of edit3 as a double% --- Executes during object creation, after setting all properties.function edit3_CreateFcn(hObject, eventdata, handles)% hObject    handle to edit3 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%       See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))    set(hObject,'BackgroundColor','white');endfunction edit2_Callback(hObject, eventdata, handles)% hObject    handle to edit2 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit2 as text%        str2double(get(hObject,'String')) returns contents of edit2 as a double% --- Executes during object creation, after setting all properties.function edit2_CreateFcn(hObject, eventdata, handles)% hObject    handle to edit2 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%       See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))    set(hObject,'BackgroundColor','white');end

3 仿真结果

【车道线检测】基于计算机视觉实现视频车道线检测含Matlab源码_第2张图片

4 参考文献

[1]燕磬. 基于机器视觉的车道线识别技术研究[D]. 长沙理工大学.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

你可能感兴趣的:(图像处理,matlab,计算机视觉,开发语言)