首页 > 编程语言 >m基于GRNN广义回顾神经网络的车牌字符分割和识别算法matlab仿真

m基于GRNN广义回顾神经网络的车牌字符分割和识别算法matlab仿真

时间:2023-05-22 19:33:31浏览次数:44  
标签:load end mat ii 神经网络 matlab words GRNN 车牌

1.算法仿真效果

matlab2022a仿真结果如下:

 

 

 

 

2.算法涉及理论知识概要

        车牌识别系统(Vehicle License Plate Recognition,VLPR) 是计算机视频图像识别技术在车辆牌照识别中的一种应用。车牌识别在高速公路车辆管理中得到广泛应用,电子收费(ETC)系统中,也是结合DSRC技术识别车辆身份的主要手段。

 

       车牌识别技术要求能够将运动中的汽车牌照从复杂背景中提取并识别出来,通过车牌提取、图像预处理、特征提取、车牌字符识别等技术,识别车辆牌号、颜色等信息,最新的技术水平为字母和数字的识别率可达到99.7%,汉字的识别率可达到99%。在停车场管理中,车牌识别技术也是识别车辆身份的主要手段。在深圳市公安局建设的《停车库(场)车辆图像和号牌信息采集与传输系统技术要求》中,车牌识别技术成为车辆身份识别的主要手段。

 

       车牌识别技术结合电子不停车收费系统(ETC)识别车辆,过往车辆通过道口时无须停车,即能够实现车辆身份自动识别、自动收费。在车场管理中,为提高出入口车辆通行效率,车牌识别针对无需收停车费的车辆(如月卡车、内部免费通行车辆),建设无人值守的快速通道,免取卡、不停车的出入体验,正改变出入停车场的管理模式。

 

       随着交通现代化的发展要求,汽车牌照自动识别技术已经越来越受到人们的重视。车牌自动识别技术中车牌定位、字符切割、字符识别及后期处理是其关键技术。由于受到运算速度及内存大小的限制,以往的车牌识别大都是基于灰度图象处理的识别技术。其中首先要求正确可靠地检出车牌区域,为此提出了许多方法,如Hough变换以检测直线来提取车牌边界区域、使用灰度分割及区域生长进行区域分割,或使用纹理特征分析技术等。Hough变换方法对车牌区域变形或图象被污损时失效的可能性会大大增加,而灰度分割则比直线检测的方法要稳定,但当图象在有许多与车牌的灰度非常相似的区域时,该方法也就无能为力了。纹理分析在遇到类似车牌纹理特征的其他干扰时,车牌定位正确率也会受到影响。本文提出基于车牌彩色信息的彩色分割方法。

 

       GRNN通常被用来进行函数逼近。它具有一个径向基隐含层和一个特殊的线性层。第一层和第二层的神经元数目都与输入的样本向量对的数目相等。GRNN结构如图1所示,整个网络包括四层神经元:输入层、模式层、求和层与输出层。

 

 

 

      输入层的神经元数目与学习样本中输入向量的维数m相等,每个神经元都是一个简单的分布单元,这些神经元直接将输入变量传递到隐含层中。

 

        模式层的神经元数目即为学习样本的数目n,每个神经元都分别对应一个不同的学习样本,模式层中第i个神经元的传递函数为:

 

 

 

3.MATLAB核心程序

 

for ii = 11
 
if ii == 1
   load stepB1.mat
end
if ii == 2
   load stepB2.mat
end
if ii == 3
   load stepB3.mat
end
if ii == 4
   load stepB4.mat
end
if ii == 5
   load stepB5.mat
end
if ii == 6
   load stepB6.mat
end
if ii == 7
   load stepB7.mat
end
if ii == 8
   load stepB8.mat
end
if ii == 9
   load stepB9.mat
end
if ii == 10
   load stepB10.mat
end
if ii == 11
   load stepB11.mat
end
if ii == 12
   load stepB12.mat
end
if ii == 13
   load stepB13.mat
end
if ii == 14
   load stepB14.mat
end
if ii == 15
   load stepB15.mat
end
if ii == 16
   load stepB16.mat
end
if ii == 17
   load stepB17.mat
end
if ii == 18
   load stepB18.mat
end
if ii == 19
   load stepB19.mat
end
if ii == 20
   load stepB20.mat
end
if ii == 21
   load stepB21.mat
end
if ii == 22
   load stepB22.mat
end
 
 
word1=imresize(tmps{1},[40 20]);
word2=imresize(tmps{2},[40 20]);
word3=imresize(tmps{3},[40 20]);
word4=imresize(tmps{4},[40 20]);
word5=imresize(tmps{5},[40 20]);
word6=imresize(tmps{6},[40 20]);
word7=imresize(tmps{7},[40 20]);
 
%第1个
words   = word1;
wordss  = func_yuchuli(words);
wordsss = sim(net,wordss');
[V,I]   = max(wordsss);
d       = I;
y{1}    = func_check(d);
%第2个
words   = word2;
wordss  = func_yuchuli(words);
wordsss = sim(net,wordss');
[V,I]   = max(wordsss);
d       = I;
y{2}    = func_check(d);
%第3个
words   = word3;
wordss  = func_yuchuli(words);
wordsss = sim(net,wordss');
[V,I]   = max(wordsss);
d       = I;
y{3}    = func_check(d);
%第4个
words   = word4;
wordss  = func_yuchuli(words);
wordsss = sim(net,wordss');
[V,I]   = max(wordsss);
d       = I;
y{4}    = func_check(d);
%第5个
words   = word5;
wordss  = func_yuchuli(words);
wordsss = sim(net,wordss');
[V,I]   = max(wordsss);
d       = I;
y{5}    = func_check(d);
%第6个
words   = word6;
wordss  = func_yuchuli(words);
wordsss = sim(net,wordss');
[V,I]   = max(wordsss);
d       = I;
y{6}    = func_check(d);
%第7个
words   = word7;
wordss  = func_yuchuli(words);
wordsss = sim(net,wordss');
[V,I]   = max(wordsss);
d       = I;
y{7}    = func_check(d);
figure(1);
subplot(241);imshow(word1);title(num2str(y{1}));
subplot(242);imshow(word2);title(num2str(y{2}));
subplot(243);imshow(word3);title(num2str(y{3}));
subplot(244);imshow(word4);title(num2str(y{4}));
subplot(245);imshow(word5);title(num2str(y{5}));
subplot(246);imshow(word6);title(num2str(y{6}));
subplot(247);imshow(word7);title(num2str(y{7}));
pause(2);
 
end

 

  

 

标签:load,end,mat,ii,神经网络,matlab,words,GRNN,车牌
From: https://www.cnblogs.com/51matlab/p/17421530.html

相关文章

  • 使用卷积神经网络实现猫和狗的预测
    1、将图片数据分为训练集和验证集,训练集中猫和狗各300张图片,验证集中猫和狗各200张图片。2、构建一个神经网络模型,并使用划分好的训练集数据训练模型,使用验证集的数据验证模型,训练迭代30次,建议使用生成器。3、获取训练过程中的训练精度、验证精度,并使用matplotlib来绘制精度变化......
  • 机械臂模糊PID控制matlab仿真
    何为模糊PID:链接模糊PID理论基础:链接二自由度机械臂运动建模:  末端位置E(x,y),则两个关节角度可以由下式求得:theta1=atan2(y,x);%theta1=acos(x/sqrt(x*x+y*y));c=sqrt(x*x+y*y);%末端到原点的距离theta3=acos((c*c+a*a-b*b)/(2*a*c));theta2=theta1-......
  • Matlab二维绘图
    %%1.基本绘图指令plot()%%2.矩阵绘图%%3.绘制三条曲线%%4.绘制双纵坐标图%%5.极坐标绘图%%6.极坐标和直角坐标的相互转化%%7.对数坐标系绘图%%8.图形窗分割subplot()%%9.坐标轴设置%%10.图形标识%%11.ezplot()简易绘图指令(......
  • Matlab符号计算(实例)
    %%1.数值常量转换为符号变量%%2.符号表达式的创建%%3.符号表达式中符号自变量的确定%%4.符号对象和数值对象的转换%%5.符号数值的精度控制%%6.合并同类项%%7.因式分解%%8.分子多项式和分母多项式的提取%%9.符号表达式的展开%%10.......
  • matlab默认工作路径的修改方法,永久的
    说起来也简单,就是到安装路径文件夹下C:\ProgramFiles\R2011a\toolbox\local找文件mathrc.m文件,在最后一行添加cd'你想要的默认路径下文件夹',andifyoufinishthisstep,thenyoumakeit.......
  • MATLAB 能做什么?Matlab下载_Matlab中文版下载_Matlab使用教程
    MATLAB软件是一款非常强大的科学计算和数据分析工具,广泛应用于工程、物理、金融等领域。对于初次使用MATLAB软件的用户来说,想要运用它进行科学计算和数据分析可能并不是一件容易的事情。因此,本文将通过实际案例的方式,给大家介绍关于MATLAB软件功能使用技巧。首先,让我们来了解一下MA......
  • Matlab字符串相关操作-拼接、格式化
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • 基于pytorch搭建AlexNet神经网络用于花类识别
     ......
  • 利用卷积神经网络的Text-CNN 文本分类
    访问【WRITE-BUG数字空间】_[内附完整源码和文档]TextCNN是利用卷积神经网络对文本进行分类的算法,由YoonKim在“ConvolutionalNeuralNetworksforSentenceClassification”一文(见参考[1])中提出.TextCNN是利用卷积神经网络对文本进行分类的算法,由YoonKim在“Conv......
  • ★教程3:Simulink学习教程入门50例目录2.MATLAB/Simulink安装
    1.订阅本教程用户可以免费获得本博任意1个(包括所有免费专栏和付费专栏)博文对应代码;2.本Simulink课程的所有案例(部分理论知识点除外)均由博主编写而成,供有兴趣的朋友们自己订阅学习使用。未经本人允许,禁止任何形式的商业用途;3.本课程除了介绍常见的Simulink模块介绍之外,我们更侧......