700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 基于GRNN广义回归神经网络的车牌字符分割和识别matlab仿真

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

时间:2019-11-30 23:44:53

相关推荐

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

目录

一、理论基础

二、核心MATLAB程序

三、MATLAB仿真测试结果

一、理论基础

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

输入层的神经元数目与学习样本中输入向量的维数m相等,每个神经元都是一个简单的分布单元,这些神经元直接将输入变量传递到隐含层中。模式层的神经元数目即为学习样本的数目n,每个神经元都分别对应一个不同的学习样本,模式层中第i个神经元的传递函数为:

由此可以看出,当选择出学习样本之后,GRNN网络的结构与权值都是完全确定的,因而训练GRNN网络要比训练BP网络和RBF网络便捷得多。

二、核心MATLAB程序

clc;clear;close all;warning off;addpath 'func\'%神经网络训练net = func_grnn_train();for ii = 1:22word1=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

NAME = ['车牌图片test\',num2str(ii),'.jpg'];I =imread(NAME);figure(1);subplot(121);imshow(I);title('原图');I1=rgb2gray(I);subplot(122);imshow(I1);title('灰度图');%小波变换车牌定位Ip = func_position(I,I1,1.2,80);figure(2);subplot(131);imshow(Ip);title('车牌区域');%通过心态学处理,提取车牌区域Ip = double(bwareaopen(Ip,100));%膨胀se = strel('ball',100,50);Ip2 = imdilate(Ip,se);%确定灰度阈值level = graythresh(uint8(Ip2)); Ip3 = Ip2;%二值化[R,C] = size(Ip2);for i = 1:Rfor j = 1:Cif Ip2(i,j)>255*levelIp3(i,j) = 1;elseIp3(i,j) = 0; endendendsubplot(132);imshow(Ip3);title('去掉干扰');Ipos = func_Pai_Position(I,Ip3);subplot(133);imshow(Ipos);title('车牌提取');pause(0.05);

三、MATLAB仿真测试结果

A10-50

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。