基于MATLAB的红绿灯检测识别系统
课题介绍
红绿灯识别技术是智能交通系统一个重要方面,而且对无人驾驶以及智能车辆的辅助驾驶系统发展有积极推动作用。常用的红绿灯识别方法主要有两类:基于颜色方法和基于模板匹配的方法。基于颜色的方法对交通标志所处的外部环境要求高,且容易受噪声影响;基于模板匹配的方法对恶劣环境下的识别有较好的效果,但是其鲁棒性差。机器学习则是利用从已知的数据样本学习,根据某些特征通过某些特定的方法,来对未知的样本数据进行识别,做出正确判断。基于塔式梯度直方图(Pyramid Histogram of Oriented Gradients, PHOG)特征及支持向量机(Support Vector Machine,SVM)的红绿灯自动识别方法就是一种机器学习方法,不同于基于颜色和模板匹配的方法,此方法只需对图像进行特征提取,然后利用支持向量机对提取的特征进行学习形成分类模型,再利用该模型对红绿灯图像进行识别判断。
- GUI界面设计
- 核心代码
%主要功能描述:实现对红绿灯检测功能,将图像从RGB转换到HVS空间, %避免了普通%RGB空间易于受到亮度影响判定结果的弊端。
clear; close all;
Image_f=imread('pic.jpg');
figure(1),imshow(Image_f);title('检测图像'); %RGB TO HSV
hsv_f = rgb2hsv(Image_f); H = hsv_f(:,:,1)*255; S = hsv_f(:,:,2)*255; V = hsv_f(:,:,3)*255; figure,imhist(uint8(H)); [y,x,z]=size(Image_f); Red_y=zeros(y,1); Green_y=zeros(y,1); Yellow_y=zeros(y,1); for i=1:y for j=1:x if(((H(i,j)>=0)&&(H(i,j)<15))||((H(i,j) >= 245) && (H(i,j) <=255))
&&(V(i,j)>50)&&(S(i,j)>30)) %(V(i,j)<255) &&(V(i,j)>50)&&(S(i,j)>30) Red_y(i,1)= Red_y(i,1)+1;%红像素点统计 elseif(((H(i,j)>=66)&&(H(i,j)<130))
&&(V(i,j)>50)&&(S(i,j)>30)) %(V(i,j)<255) &&(V(i,j)>50)&&(S(i,j)>30) Green_y(i,1)= Green_y(i,1)+1;%绿像素点统计 elseif(((H(i,j)>=20)&&(H(i,j,1)<65))
&&(V(i,j)>50)&&(S(i,j)>30)) %(V(i,j)<255) &&(V(i,j)>50)&&(S(i,j)>30) Yellow_y(i,1)= Yellow_y(i,1)+1;%黄像素点统计 end end end
Max_Red_y=max(Red_y) Max_Green_y=max(Green_y) Max_Yellow_y=max(Yellow_y)
if((Max_Red_y> Max_Green_y)&&(Max_Red_y> Max_Yellow_y)) Result =1;
elseif((Max_Green_y> Max_Red_y)&&(Max_Green_y> Max_Yellow_y)) Result =2;
elseif((Max_Yellow_y> Max_Green_y)&&(Max_Yellow_y> Max_Red_y)) Result =3; else Result =4; end
if(Result==1) disp('检测结果为红灯'); elseif(Result==2); disp('检测结果为绿灯'); elseif(Result==3) disp('检测结果为黄灯'); else disp('检测失败'); end
基于MATLAB的红绿灯检测识别系统相关推荐
- 基于MATLAB的人脸考勤识别系统
基于MATLAB的人脸考勤识别系统 摘 要 人脸识别是模式识别和图像处理等学科的一个研究热点,它广泛应用在身份验证.刑侦破案.视频监视.机器人智能化和医学等领域,具有广阔的应用价值和商用价值.人脸特征 ...
- 超详细基于MATLAB的人脸考勤识别系统
基于MATLAB的人脸考勤识别系统 摘 要 人脸识别是模式识别和图像处理等学科的一个研究热点,它广泛应用在身份验证.刑侦破案.视频监视.机器人智能化和医学等领域,具有广阔的应用价值和商用价值.人脸特征 ...
- 基于matlab的自动人脸识别系统GUI设计
基于matlab的自动人脸识别系统GUI设计 之前做的一个课设项目半成品,一边网上找资料一边自己瞎捣鼓,完成了GUI界面的设计,实时视频中的人脸检测和追踪,PCA算法训练,单张人脸识别.但是识别率比较 ...
- 基于Matlab神经网络语音情感识别系统
文件大小:5.1M 代码行数:55行(主程序) 开发环境:Matlab2018 点击下载:点击下载 简要概述:基于Matlab神经网络语音情感识别系统,五种基本情感:'生气','高兴','中性','悲 ...
- 基于matlab的手写体数字识别系统,基于matlab的手写体数字识别系统研究
基于matlab的手写体数字识别系统研究 丁禹鑫1,丁会2,张红娟2,杨彤彤1 [摘要]随着科学技术的发展,机器学习成为一大学科热门领域,是一门专门研究计算机怎样模拟或实现人类的学习行为的交叉学科.文 ...
- 基于MATLAB的农业病虫害识别系统
摘 要 目前,图像处理技术的应用与研究都有了很大进展,其应用也已经渗透到农业生产的各个领域.在农业生产中,病虫害一直是困扰农作物生长的基本问题.因此研究农作物病虫草害的自动检测与识别,开发智能化控制系 ...
- 【病虫害识别】基于matlab GUI SVM病虫害识别系统【含Matlab源码 2429期】
⛄一.基于机器视觉的农作物病害识别技术 1 叶片图像采集 进行农作物病害自动检测与识别首先要对病害叶片的图像进行采集.自动识别的前提是获得数字图像, 数字图像质量的好坏决定着之后叶片病害的识别特征能否 ...
- 基于matlab的手写体数字识别系统
摘要:随着科学技术的发展,机器学习成为一大学科热门领域,是一门专门研究计算机怎样模拟或实现人类的学习行为的交叉学科.文章在matlab软件的基础上,利用BP神经网络算法完成手写体数字的识别. 机器学习 ...
- 【百度快照】基于MATLAB GUI的条形码识别系统
1.1 应用MATLAB识别条形码总体设计*** 本设计为基于MATLAB的条形码识别系统,带有一个GUI界面. 1.1.1 程序总体设计思路 在上节中我们简单的介绍了MATLAB的发展以及优点.在以 ...
最新文章
- 美国医疗机构是如何应用和看待「新冠AI」的?
- 【IntelliJ IDEA】中文乱码问题 ( 代码乱码 | 编译乱码 | 控制台乱码 )
- Python3.7 中Scipy和Numpy的安装(含下载资源)
- 微信数据分析包准备(Python)
- ifconfig详解及设置静态IP的方法
- kernel 3.10内核源码分析--中断--中断和异常返回流程
- DevOps运维开发一体化 - 公开课笔记
- 【渝粤教育】 国家开放大学2020年春季 2245社会福利与保障 参考试题
- python的pygame库使用方法_python基础教程使用Python第三方库pygame写个贪吃蛇小游戏...
- 2022年深圳杯建模A题思路: 破除“尖叫效应”与“回声室效应”,走出“信息茧房”
- mpg文件怎么转换成mp4
- A2 雷达多点触控
- 3ds Max老崩溃是什么感觉?崩溃还没有保存文件?这个小细节你要注意了
- Zabbix 5.0.13 与阿里云企业邮箱告警
- 几何平均回归Geometric Mean Regression——使用Python实现
- JS数据结构中的集合结构详解
- Remote使用出现的问题及解决办法
- 关于“元宇宙”,讲点你能听懂的
- 模型误差、观测误差、截断误差(或称方法误差)、舍入误差
- 搭建maven私服发布项目并从私服下载jar包