【红绿灯识别】计算机视觉红绿灯识别【含GUI Matlab源码 2713期】

这篇具有很好参考价值的文章主要介绍了【红绿灯识别】计算机视觉红绿灯识别【含GUI Matlab源码 2713期】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。

更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)

⛄一、红绿灯识别简介

截至2015年,世界范围内盲人的患病率为0.49%,约有3600万盲人,我国50岁以上的盲人有532万。盲人出行困难重重。目前市面上针对盲人出行识别红绿灯的研究并不多,识别红绿灯的图像识别技术往往应用于无人驾驶技术上。本文设计了一种使用直方图阈值分割以及HSV颜色识别的红绿灯识别方法。

阈值分割是较常见的一种图像处理方法,由于其计算速度快、实现简单,因此被广泛应用在图像处理中。该方法主要是依据直方图的概率分布计算相应的准则函数,同时运用智能优化算法加快阈值搜索速度,从而选取合适的阈值进行分割。其中,直方图阈值法是依据图像的直方图,对其进行分析来实现对图像的分割。HSV颜色空间的3个分量具有相对独立性,而H和S分量受光照及阴影遮挡的影响很小。使用HSV色彩空间,利用不同颜色的阈值进行红绿灯颜色识别,排除大部分外界环境干扰,精确可靠。

1 预处理
摄像头自然拍摄的街景图像包含的图形复杂繁琐,并且外界光线的变化对图像的清晰度、分辨度有一定影响。街景图像的预处理主要包括图像增强等工作,简单预处理的方法包括灰度化、图像增强等步骤。韩征等提出基于蒙特卡洛模拟的图像二值化增强算法。现阶段,机器视觉的准确性不足。在工业实际应用上,机器视觉的准确性远低于实验的测试结果,当测量的环境发生改变后,得出的结果会发生较大的偏差,对环境的适应性较差。外界环境的变化影响街景图像的拍摄效果,对红绿灯的定位识别具有干扰。为了减少外界环境因素无关因素的干扰,对图像进行灰度化、锐化及增强降噪处理。预处理流程如图1所示。
【红绿灯识别】计算机视觉红绿灯识别【含GUI Matlab源码 2713期】,Matlab图像处理(进阶版),matlab
图1 预处理流程
2 红绿灯的定位
对于一张灰度图像,图像的直方图[8]可以看作是像素灰度值概率密度分布函数的一个近似。假设一张图像里仅包括目标物体和背景,那么此图像的直方图分布可看作是仅有目标物体与背景的像素概率密度分布。
假设一张灰度图像的直方图灰度级范围为i=0,1,2……k,则此图像的总像素为:
【红绿灯识别】计算机视觉红绿灯识别【含GUI Matlab源码 2713期】,Matlab图像处理(进阶版),matlab
灰度级i出现的概率为:
【红绿灯识别】计算机视觉红绿灯识别【含GUI Matlab源码 2713期】,Matlab图像处理(进阶版),matlab
使用直方图阈值分割算法实现图像的分割,提出双曲线二维Otsu阈值分割算法,使用模糊直方图模型进行运动目标追踪,本文使用直方图阈值分割法,适用于简单的红绿灯分割。依据灰度图像的直方图可分析出图像的分割阈值,对于具有明显波峰波谷的灰度图,此方法分割准确。红绿灯分割定位结果如图2所示。图2中第一张图为首次分割后的图像,可见其轮廓模糊,不利于后续准确定位。对其进行腐蚀操作,轮廓较之前清晰。可以看到,在第二张二值图像中存在零零星星的噪点,使用中值滤波进行降噪处理,得到最终二值化图像。红绿灯的底盘颜色均为黑色,且在实时拍摄的图像中,红绿灯的位置通常位于图像的中间偏上位置,在所得到的图像中,找出图像矩阵中最小的元素,它所对应的行即为该二值图像中黑色像素点最多的行。因为在日常生活中,无论是横向红绿灯或竖向红绿灯,红绿灯的长度、宽度以及面积是固定不变的,由此可确定红绿灯在图像中的位置。

3 红绿灯颜色识别
RGB色彩空间:RGB色彩模式是工业界最常用的一种模式,其中包括红色(R)、绿色(G)和蓝色(B)。一幅图像由这3个通道组成。HSV色彩空间:HSV模型中颜色的参数是色调(H)、饱和度(S)和亮度(V)。

RGB模型是人们最熟悉的彩色模型,但RGB 3个分量的相关性高,不能用于分离两个颜色相近区域。HSV模型同样属于彩色模型,HSV(hue,saturation,value)分别表示色调、饱和度和明度,HSV模型比RGB模型更接近人们对色彩的感知;HSV模型消除了3个分量之间的相关性,在处理颜色相近的图像时有更好的效果。

对于HSV图像进行颜色识别,通过红绿红3种颜色的HSV值不同,判断红绿灯此刻亮起的颜色是何种颜色。首先,将RGB色彩转换成HSV模型,使用两个模型之间的差值进行数值转换。红黄绿3种颜色的HSV各不相同,根据红色的HSV数值,分别设置红色、绿色、黄色HSV值的上下限。除此之外,考虑到各地红绿灯颜色可能有些许差异,如某些红绿灯的红灯更偏于橙色,绿色更偏于为青色,而且在强光弱光的环境下灯光还显现出白色,在设置HSV数值时,将橙色青色白色的HSV上下限值加入到算法中。提取分割后的红绿灯图像中HSV三通道的值,依据所设置的HSV阈值,判断图像中何种颜色的分量占据多数,即可判断出此刻红绿灯的状态。

⛄二、部分源代码

function varargout = Maindeng(varargin)
% MAINDENG MATLAB code for Maindeng.fig
% MAINDENG, by itself, creates a new MAINDENG or raises the existing
% singleton*.
%
% H = MAINDENG returns the handle to a new MAINDENG or the handle to
% the existing singleton*.
%
% MAINDENG(‘CALLBACK’,hObject,eventData,handles,…) calls the local
% function named CALLBACK in MAINDENG.M with the given input arguments.
%
% MAINDENG(‘Property’,‘Value’,…) creates a new MAINDENG or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before Maindeng_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to Maindeng_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 Maindeng

% Last Modified by GUIDE v2.5 21-Jun-2022 22:14:12

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct(‘gui_Name’, mfilename, …
‘gui_Singleton’, gui_Singleton, …
‘gui_OpeningFcn’, @Maindeng_OpeningFcn, …
‘gui_OutputFcn’, @Maindeng_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 Maindeng is made visible.
function Maindeng_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 Maindeng (see VARARGIN)

% Choose default command line output for Maindeng
handles.output = hObject; %下面全部为设定作图区域属性
handles.cd0 = cd;
handles.Color = 0;
handles.I = [];

axes(handles.axes1);
set(gca,‘Xtick’,[]);
set(gca,‘Ytick’,[]);
box on;

⛄三、运行结果

【红绿灯识别】计算机视觉红绿灯识别【含GUI Matlab源码 2713期】,Matlab图像处理(进阶版),matlab

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]桂欣悦,李振伟,吴晨晨,李彦玥.基于MATLAB的红绿灯识别系统研究[J].电子设计工程. 2020,28(16)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合文章来源地址https://www.toymoban.com/news/detail-806162.html

到了这里,关于【红绿灯识别】计算机视觉红绿灯识别【含GUI Matlab源码 2713期】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 交通信号灯课程设计(红绿灯)

    一、设计指标 1.1对设计课题进行简要阐述        由一条主干道和一条支干道的汇合点形成十字交叉路口,为确保车辆安全、迅速地通行,在交叉路口的每个人口处设置了红、绿、黄三色信号灯。        (1)用红、绿、黄三色发光二极管作信号灯,用传感器或逻辑开关

    2024年02月09日
    浏览(51)
  • 基于STM32的红绿灯设计

    基于protrus8设计电路原理图 先要思考明白十字路口红绿灯的逻辑 东西是一样的,南北是一样的。 东西红灯,南北就是绿灯,反之一样的,弄明白这些写代码就有思路了 中间的两个数码管是模拟真实红绿灯倒计时的用的,放置4个也行,但是为了方便观看就放一个了 下面放几

    2024年02月11日
    浏览(38)
  • 定时红绿灯(C51单片机)

    一.项目题目:利用中断处理制作的定时LED红绿灯系统 二.项目器件: 红色LED灯 绿色LED灯 黄色LED灯 100R电阻 电源 电容器 C51单片机 接地线 三.项目原理图 四.项目实现功能: 使用定时器/计数器T1工作方式1,采用中断方式控制P1口6个单片机串口,实现类似交通红绿灯功能

    2024年02月05日
    浏览(50)
  • 基于51单片机的简易红绿灯电路

            单片机P1口控制数码管段选,P2口控制数码管位选,P0口控制两边的灯光。         首先是数码管控制函数,声明一个变量shift作为数码管位移量,首先进行位选,这里数码管使用的是共阴极数码管,所以位选脚为低时点亮,因为位移时除了置1的位保持1,其他的

    2024年02月11日
    浏览(37)
  • 高德地图红绿灯读秒是怎么实现的?(一)

    关于这个读秒实现功能众说风云,目前有两种说法,一种说是靠大数据分析,一种说是靠交管部门数据。 我们先看一下 官方的回应 :可以自行去抖音看官方号的解释。 以下为原答: 有人说是接入了地方交管数据,其实政策难度很大且没必要。合理推测一下: 其实一个路口

    2024年02月02日
    浏览(38)
  • FPGA十字路口红绿灯控制器

    课程设计:十字路口红绿灯控制器 1.要求双方向8个灯的时序控制 2.要求显示倒计时 verilog hdl代码模块 测试程序模块 注意: 选择比较好的器件 测试文件命名为testbench.vt,否则不行。 采用BCD倒计时,经测试时序无错,代码结构清晰。 EDA课设,感谢论坛其他大佬的代码,基于

    2024年02月11日
    浏览(52)
  • 红绿灯交通灯控制逻辑电路设计

    最近无聊整理一下以前的笔记之类的,发现以前的课设,简陋粗糙,还是记录下吧。 此设计有具体接线说明 实验箱大概如下图 课设任务及要求 1、满足如图 1 顺序工作流程 t为时间单位 2、满足两个方向的工作时序 即东西方向亮红灯时间应等于南北方向亮黄、绿灯时间之和,

    2024年02月10日
    浏览(52)
  • STM32 Proteus仿真可设置时间红绿灯-0075

    STM32 Proteus仿真可设置时间红绿灯-0075 Proteus 仿真小实验: STM32 Proteus仿真可设置时间红绿灯-0075 功能: 硬件组成:STM32F103C6单片机 +74HC595串入并出芯片+4个2位数码管显示十字路口红绿灯时间+多个按键 1.包含机动车指示灯(红、黄、绿灯),通过数码管显示通行倒计时。并且可

    2024年02月16日
    浏览(34)
  • 基于单片机的红绿灯智能控制系统设计

    收藏和点赞,您的关注是我创作的动力   随着社会经济的快速发展以及人们生活水平的提高 ,机动车数量也在急剧增加 ,交通问题逐渐成为人们关注的重点对象,因城市发展所带来的交通拥堵等问题,利用智能交通来解决传统交通日渐出现的问题成为大势所趋。本设计基

    2024年02月04日
    浏览(69)
  • 【Arduino】arduino交通灯(红绿灯+倒计时)

    红绿灯+倒计时

    2024年02月13日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包