车牌自动识别

一个典型的汽车车牌自动识别系统,其基本处理流程如下图所示:

车牌定位:

从整个图像中准确地检测出车牌区域,是车牌识别过程的一个重要步骤,如果定位失败或定位不完整,会直接导致最终识别失败。车牌定位方法一般会依据纹理特征、颜色特征和形状特征等信息,采用投影分析、连通域分析、机器学习等算法检测车牌。投影分析方法根据车牌字符与背景交替出现的次数相比于其他情况要多这个特征,通过图像在水平和垂直方向的投影分析来定位车牌;连通域分析根据车牌中的每个字符都是一个连通域且这些连通域的结构和颜色都一致的特征,通过检测并合并这些连通域来定位车牌。基于边缘特征检测:利用函数edge()实现边缘检测;机器学习的思路是,先使用从很多个车牌样本中提取出来的特征把一个弱分类器训练成一个强分类器,再使用这个强分类器对图像进行扫描检测从而定位到车牌。

车牌矫正:

       由于受拍摄角度、镜头等因素的影响,图像中的车牌存在水平倾斜、垂直倾斜或梯形畸变等变形,这给后续的识别处理带来了困难。如果在定位到车牌后先进行车牌校正处理,这样做有利于去除车牌边框等噪声,更有利于字符识别。目前常用校正方法有:Hough变换法,通过检测车牌上下左右边框直线来计算倾斜角度、旋转投影法、最近邻聚类法等。

字符分割:

       对分割后的字符的灰度图像进行归一化处理,特征提取,然后经过机器学习或与字符数据库模板进行匹配,最后选取匹配度最高的结果作为识别结果。目前比较流行的字符识别算法有:模板匹配法、人工神经网络法等。模板匹配法的优点是识别速度快、方法简单,缺点是对断裂、污损等情况的处理有一些困难;人工神经网络法学习能力强、适应性强、分类能力强但比较耗时。

字符识别:

模板匹配法:车牌字符识别是字符识别的重要组成部分。车牌字符识别的最终目的就是将图像中的车牌字符转化成文本字符,车牌字符的识别属于印刷体识别范畴。字符识别的基本思想是匹配判别,抽取待识别字符特征按照字符识别的原理和预先存储在计算机中的标准字符模式表达形式的集合逐一进行匹配,找出最接近输入字符模式的表达形式,该表达形式对应的字就是识别结果。

 

   

%%%%%%%%%%%4.1、车牌字符预处理%%%%%%%%%%%
ZiFu1=imresize(~imread('1.jpg'), [110 55],'bilinear');%用反色识别
ZiFu2=imresize(~imread('2.jpg'), [110 55],'bilinear');
ZiFu3=imresize(~imread('3.jpg'), [110 55],'bilinear');
ZiFu4=imresize(~imread('4.jpg'), [110 55],'bilinear');
ZiFu5=imresize(~imread('5.jpg'), [110 55],'bilinear');
ZiFu6=imresize(~imread('6.jpg'), [110 55],'bilinear');
ZiFu7=imresize(~imread('7.jpg'), [110 55],'bilinear');
%%%%%%%%%%%4.2、把0-9,A-Z以及省份简称的数据存储方便访问%%%%%%%%%%%
HanZi=DuQuHanZi(imread('MuBanKu\sichuan.bmp'),imread('MuBanKu\guizhou.bmp'),imread('MuBanKu\beijing.bmp'),imread('MuBanKu\chongqing.bmp'),...
                imread('MuBanKu\guangdong.bmp'),imread('MuBanKu\shandong.bmp'),imread('MuBanKu\zhejiang.bmp'));
ShuZiZiMu=DuQuSZZM(imread('MuBanKu\0.bmp'),imread('MuBanKu\1.bmp'),imread('MuBanKu\2.bmp'),imread('MuBanKu\3.bmp'),imread('MuBanKu\4.bmp'),...
                   imread('MuBanKu\5.bmp'),imread('MuBanKu\6.bmp'),imread('MuBanKu\7.bmp'),imread('MuBanKu\8.bmp'),imread('MuBanKu\9.bmp'),...
                   imread('MuBanKu\10.bmp'),imread('MuBanKu\11.bmp'),imread('MuBanKu\12.bmp'),imread('MuBanKu\13.bmp'),imread('MuBanKu\14.bmp'),...
                   imread('MuBanKu\15.bmp'),imread('MuBanKu\16.bmp'),imread('MuBanKu\17.bmp'),imread('MuBanKu\18.bmp'),imread('MuBanKu\19.bmp'),...
                   imread('MuBanKu\20.bmp'),imread('MuBanKu\21.bmp'),imread('MuBanKu\22.bmp'),imread('MuBanKu\23.bmp'),imread('MuBanKu\24.bmp'),...
                   imread('MuBanKu\25.bmp'),imread('MuBanKu\26.bmp'),imread('MuBanKu\27.bmp'),imread('MuBanKu\28.bmp'),imread('MuBanKu\29.bmp'),...
                   imread('MuBanKu\30.bmp'),imread('MuBanKu\31.bmp'),imread('MuBanKu\32.bmp'),imread('MuBanKu\33.bmp'));
ZiMu=DuQuZiMu(imread('MuBanKu\10.bmp'),imread('MuBanKu\11.bmp'),imread('MuBanKu\12.bmp'),imread('MuBanKu\13.bmp'),imread('MuBanKu\14.bmp'),...
              imread('MuBanKu\15.bmp'),imread('MuBanKu\16.bmp'),imread('MuBanKu\17.bmp'),imread('MuBanKu\18.bmp'),imread('MuBanKu\19.bmp'),...
              imread('MuBanKu\20.bmp'),imread('MuBanKu\21.bmp'),imread('MuBanKu\22.bmp'),imread('MuBanKu\23.bmp'),imread('MuBanKu\24.bmp'),...
              imread('MuBanKu\25.bmp'),imread('MuBanKu\26.bmp'),imread('MuBanKu\27.bmp'),imread('MuBanKu\28.bmp'),imread('MuBanKu\29.bmp'),...
              imread('MuBanKu\30.bmp'),imread('MuBanKu\31.bmp'),imread('MuBanKu\32.bmp'),imread('MuBanKu\33.bmp'));
ShuZi=DuQuShuZi(imread('MuBanKu\0.bmp'),imread('MuBanKu\1.bmp'),imread('MuBanKu\2.bmp'),imread('MuBanKu\3.bmp'),imread('MuBanKu\4.bmp'),...
                imread('MuBanKu\5.bmp'),imread('MuBanKu\6.bmp'),imread('MuBanKu\7.bmp'),imread('MuBanKu\8.bmp'),imread('MuBanKu\9.bmp')); 
%%%%%%%%%%%4.3、车牌字符识别%%%%%%%%%%%
t=1;
ZiFu1JieGuo=ShiBieHanZi(HanZi,ZiFu1);   ShiBieJieGuo(1,t)=ZiFu1JieGuo;t=t+1;
ZiFu2JieGuo=ShiBieZiMu (ZiMu, ZiFu2);   ShiBieJieGuo(1,t)=ZiFu2JieGuo;t=t+1;
ZiFu3JieGuo=ShiBieSZZM(ShuZiZiMu,ZiFu3);ShiBieJieGuo(1,t)=ZiFu3JieGuo;t=t+1;
ZiFu4JieGuo=ShiBieSZZM(ShuZiZiMu,ZiFu4);ShiBieJieGuo(1,t)=ZiFu4JieGuo;t=t+1;
ZiFu5JieGuo=ShiBieShuZi(ShuZi,ZiFu5);   ShiBieJieGuo(1,t)=ZiFu5JieGuo;t=t+1;
ZiFu6JieGuo=ShiBieShuZi(ShuZi,ZiFu6);   ShiBieJieGuo(1,t)=ZiFu6JieGuo;t=t+1;
ZiFu7JieGuo=ShiBieShuZi(ShuZi,ZiFu7);   ShiBieJieGuo(1,t)=ZiFu7JieGuo;t=t+1;
ShiBieJieGuo
msgbox(ShiBieJieGuo,'结果');
fid=fopen('Data.xls','a+');
fprintf(fid,'%s\r\n',ShiBieJieGuo,datestr(now));
fclose(fid);

 神经网络匹配:

设计了一个单隐含层的三层结构的BP(Back propagation)神经网络进行字符识别,对单个字符图像利用全像素法提取800维的特征向量,因此,BP神经网络输入层有800个节点。BP神经网络的输出端有65个节点,包括汉字31个、阿拉伯数字10个、英文字母共24个(不包括I、O).。隐含层神经元个数确定为34个,利用近400个训练样本对BP神经网络进行训练,最大训练步数为5000步,误差设定为0.0000000001。

clear;
clc;
I01=getfeature('./train/0/1.jpg');
I02=getfeature('./train/0/2.jpg');
I03=getfeature('./train/0/3.jpg');
I04=getfeature('./train/0/4.jpg');
I05=getfeature('./train/0/5.jpg');
I06=getfeature('./train/0/6.jpg');
I07=getfeature('./train/0/7.jpg');
I08=getfeature('./train/0/8.jpg');
I09=getfeature('./train/0/9.jpg');
I010=getfeature('./train/0/10.jpg');
I011=getfeature('./train/0/11.jpg');
I012=getfeature('./train/0/12.jpg');
I013=getfeature('./train/0/13.jpg');
I014=getfeature('./train/0/14.jpg');
I015=getfeature('./train/0/15.jpg');
I016=getfeature('./train/0/16.jpg');
I017=getfeature('./train/0/17.jpg');
I018=getfeature('./train/0/18.jpg');
I019=getfeature('./train/0/19.jpg');
I020=getfeature('./train/0/20.jpg');
I021=getfeature('./train/0/21.jpg');
I022=getfeature('./train/0/22.jpg');
I023=getfeature('./train/0/23.jpg');
I024=getfeature('./train/0/24.jpg');
I025=getfeature('./train/0/25.jpg');
I026=getfeature('./train/0/26.jpg');
I027=getfeature('./train/0/27.jpg');

I11=getfeature('./train/1/1.jpg');
I12=getfeature('./train/1/2.jpg');
I13=getfeature('./train/1/3.jpg');
I14=getfeature('./train/1/4.jpg');
I15=getfeature('./train/1/5.jpg');
I16=getfeature('./train/1/6.jpg');
I17=getfeature('./train/1/7.jpg');
I18=getfeature('./train/1/8.jpg');
I19=getfeature('./train/1/9.jpg');
I110=getfeature('./train/1/10.jpg');
I111=getfeature('./train/1/11.jpg');


I21=getfeature('./train/2/1.jpg');
I22=getfeature('./train/2/2.jpg');
I23=getfeature('./train/2/3.jpg');
I24=getfeature('./train/2/4.jpg');
I25=getfeature('./train/2/5.jpg');
I26=getfeature('./train/2/6.jpg');
I27=getfeature('./train/2/7.jpg');
I28=getfeature('./train/2/8.jpg');
I29=getfeature('./train/2/9.jpg');
I210=getfeature('./train/2/10.jpg');
I211=getfeature('./train/2/11.jpg');
I212=getfeature('./train/2/12.jpg');
I213=getfeature('./train/2/13.jpg');
I214=getfeature('./train/2/14.jpg');

I31=getfeature('./train/3/1.jpg');
I32=getfeature('./train/3/2.jpg');
I33=getfeature('./train/3/3.jpg');
I34=getfeature('./train/3/4.jpg');
I35=getfeature('./train/3/5.jpg');
I36=getfeature('./train/3/6.jpg');
I37=getfeature('./train/3/7.jpg');
I38=getfeature('./train/3/8.jpg');
I39=getfeature('./train/3/9.jpg');
I310=getfeature('./train/3/10.jpg');
I311=getfeature('./train/3/11.jpg');
I312=getfeature('./train/3/12.jpg');

I41=getfeature('./train/4/1.jpg');
I42=getfeature('./train/4/2.jpg');
I43=getfeature('./train/4/3.jpg');
I44=getfeature('./train/4/4.jpg');
I45=getfeature('./train/4/5.jpg');
I46=getfeature('./train/4/6.jpg');
I47=getfeature('./train/4/7.jpg');
I48=getfeature('./train/4/8.jpg');
I49=getfeature('./train/4/9.jpg');
I410=getfeature('./train/4/10.jpg');
I411=getfeature('./train/4/11.jpg');
I412=getfeature('./train/4/12.jpg');

I51=getfeature('./train/5/1.jpg');
I52=getfeature('./train/5/2.jpg');
I53=getfeature('./train/5/3.jpg');
I54=getfeature('./train/5/4.jpg');
I55=getfeature('./train/5/5.jpg');
I56=getfeature('./train/5/6.jpg');
I57=getfeature('./train/5/7.jpg');
I58=getfeature('./train/5/8.jpg');
I59=getfeature('./train/5/9.jpg');
I510=getfeature('./train/5/10.jpg');
I511=getfeature('./train/5/11.jpg');
I512=getfeature('./train/5/12.jpg');
I513=getfeature('./train/5/13.jpg');
I514=getfeature('./train/5/14.jpg');
I515=getfeature('./train/5/15.jpg');
I516=getfeature('./train/5/16.jpg');
I517=getfeature('./train/5/17.jpg');
I518=getfeature('./train/5/18.jpg');
I519=getfeature('./train/5/19.jpg');
I520=getfeature('./train/5/20.jpg');
I521=getfeature('./train/5/21.jpg');
I522=getfeature('./train/5/22.jpg');
I523=getfeature('./train/5/23.jpg');
I524=getfeature('./train/5/24.jpg');
I525=getfeature('./train/5/25.jpg');

I61=getfeature('./train/6/1.jpg');
I62=getfeature('./train/6/2.jpg');
I63=getfeature('./train/6/3.jpg');
I64=getfeature('./train/6/4.jpg');
I65=getfeature('./train/6/5.jpg');
I66=getfeature('./train/6/6.jpg');
I67=getfeature('./train/6/7.jpg');
I68=getfeature('./train/6/8.jpg');
I69=getfeature('./train/6/9.jpg');
I610=getfeature('./train/6/10.jpg');
I611=getfeature('./train/6/11.jpg');
I612=getfeature('./train/6/12.jpg');
I613=getfeature('./train/6/13.jpg');
I614=getfeature('./train/6/14.jpg');
I615=getfeature('./train/6/15.jpg');
I616=getfeature('./train/6/16.jpg');
I617=getfeature('./train/6/17.jpg');
I618=getfeature('./train/6/18.jpg');
I619=getfeature('./train/6/19.jpg');
I620=getfeature('./train/6/20.jpg');
I621=getfeature('./train/6/21.jpg');
I622=getfeature('./train/6/22.jpg');
I623=getfeature('./train/6/23.jpg');
I624=getfeature('./train/6/24.jpg');
I625=getfeature('./train/6/25.jpg');

I71=getfeature('./train/7/1.jpg');
I72=getfeature('./train/7/2.jpg');
I73=getfeature('./train/7/3.jpg');
I74=getfeature('./train/7/4.jpg');
I75=getfeature('./train/7/5.jpg');
I76=getfeature('./train/7/6.jpg');
I77=getfeature('./train/7/7.jpg');
I78=getfeature('./train/7/8.jpg');
I79=getfeature('./train/7/9.jpg');
I710=getfeature('./train/7/10.jpg');
I711=getfeature('./train/7/11.jpg');
I712=getfeature('./train/7/12.jpg');
I713=getfeature('./train/7/13.jpg');
I714=getfeature('./train/7/14.jpg');
I715=getfeature('./train/7/15.jpg');
I716=getfeature('./train/7/16.jpg');

I81=getfeature('./train/8/1.jpg');
I82=getfeature('./train/8/2.jpg');
I83=getfeature('./train/8/3.jpg');
I84=getfeature('./train/8/4.jpg');
I85=getfeature('./train/8/5.jpg');
I86=getfeature('./train/8/6.jpg');
I87=getfeature('./train/8/7.jpg');
I88=getfeature('./train/8/8.jpg');
I89=getfeature('./train/8/9.jpg');
I810=getfeature('./train/8/10.jpg');
I811=getfeature('./train/8/11.jpg');
I812=getfeature('./train/8/12.jpg');
I813=getfeature('./train/8/13.jpg');
I814=getfeature('./train/8/14.jpg');
I815=getfeature('./train/8/15.jpg');
I816=getfeature('./train/8/16.jpg');
I817=getfeature('./train/8/17.jpg');
I818=getfeature('./train/8/18.jpg');
I819=getfeature('./train/8/19.jpg');
I820=getfeature('./train/8/20.jpg');
I821=getfeature('./train/8/21.jpg');
I822=getfeature('./train/8/22.jpg');
I823=getfeature('./train/8/23.jpg');
I824=getfeature('./train/8/24.jpg');
I825=getfeature('./train/8/25.jpg');
I826=getfeature('./train/8/26.jpg');
I827=getfeature('./train/8/27.jpg');
I828=getfeature('./train/8/28.jpg');
I829=getfeature('./train/8/29.jpg');
I830=getfeature('./train/8/30.jpg');
I831=getfeature('./train/8/31.jpg');
I832=getfeature('./train/8/32.jpg');
I833=getfeature('./train/8/33.jpg');
I834=getfeature('./train/8/34.jpg');
I835=getfeature('./train/8/35.jpg');
I836=getfeature('./train/8/36.jpg');
I837=getfeature('./train/8/37.jpg');
I838=getfeature('./train/8/38.jpg');
I839=getfeature('./train/8/39.jpg');
I840=getfeature('./train/8/40.jpg');
I841=getfeature('./train/8/41.jpg');
I842=getfeature('./train/8/42.jpg');
I843=getfeature('./train/8/43.jpg');
I844=getfeature('./train/8/44.jpg');
I845=getfeature('./train/8/45.jpg');

I91=getfeature('./train/9/1.jpg');
I92=getfeature('./train/9/2.jpg');
I93=getfeature('./train/9/3.jpg');
I94=getfeature('./train/9/4.jpg');
I95=getfeature('./train/9/5.jpg');
I96=getfeature('./train/9/6.jpg');
I97=getfeature('./train/9/7.jpg');
I98=getfeature('./train/9/8.jpg');
I99=getfeature('./train/9/9.jpg');
I910=getfeature('./train/9/10.jpg');
I911=getfeature('./train/9/11.jpg');
I912=getfeature('./train/9/12.jpg');
I913=getfeature('./train/9/13.jpg');
I914=getfeature('./train/9/14.jpg');
I915=getfeature('./train/9/15.jpg');
I916=getfeature('./train/9/16.jpg');
I917=getfeature('./train/9/17.jpg');
I918=getfeature('./train/9/18.jpg');
I919=getfeature('./train/9/19.jpg');
I920=getfeature('./train/9/20.jpg');
I921=getfeature('./train/9/21.jpg');
I922=getfeature('./train/9/22.jpg');
I923=getfeature('./train/9/23.jpg');
I924=getfeature('./train/9/24.jpg');
I925=getfeature('./train/9/25.jpg');
I926=getfeature('./train/9/26.jpg');
I927=getfeature('./train/9/27.jpg');
I928=getfeature('./train/9/28.jpg');

IA1=getfeature('./train/a0.jpg');
IA2=getfeature('./train/a1.jpg');
IA3=getfeature('./train/a2.jpg');
IA4=getfeature('./train/a3.jpg');
IA5=getfeature('./train/a4.jpg');
IA6=getfeature('./train/a5.jpg');
IA7=getfeature('./train/a6.jpg');
IA8=getfeature('./train/a7.jpg');
IA9=getfeature('./train/a8.jpg');
IA10=getfeature('./train/a9.jpg');
IA11=getfeature('./train/aa.jpg');
IA12=getfeature('./train/ab.jpg');
IA13=getfeature('./train/ac.jpg');
IA14=getfeature('./train/ad.jpg');
IA15=getfeature('./train/ae.jpg');
IA16=getfeature('./train/af.jpg');
IA17=getfeature('./train/ag.jpg');
IA18=getfeature('./train/ah.jpg');
IA19=getfeature('./train/ai.jpg');

IB1=getfeature('./train/b0.jpg');
IB2=getfeature('./train/b1.jpg');
IB3=getfeature('./train/b2.jpg');
IB4=getfeature('./train/b3.jpg');
IB5=getfeature('./train/b4.jpg');
IB6=getfeature('./train/b5.jpg');
IB7=getfeature('./train/b6.jpg');
IB8=getfeature('./train/b7.jpg');
IB9=getfeature('./train/b8.jpg');
IB10=getfeature('./train/b9.jpg');

IC1=getfeature('./train/c7.jpg');
IC2=getfeature('./train/c1.jpg');
IC3=getfeature('./train/c2.jpg');
IC4=getfeature('./train/c3.jpg');
IC5=getfeature('./train/c4.jpg');
IC6=getfeature('./train/c5.jpg');
IC7=getfeature('./train/c6.jpg');

ID1=getfeature('./train/d8.jpg');
ID2=getfeature('./train/d1.jpg');
ID3=getfeature('./train/d2.jpg');
ID4=getfeature('./train/d3.jpg');
ID5=getfeature('./train/d4.jpg');
ID6=getfeature('./train/d5.jpg');
ID7=getfeature('./train/d6.jpg');
ID8=getfeature('./train/d7.jpg');

IE1=getfeature('./train/e1.jpg');
IE2=getfeature('./train/e2.jpg');
IE3=getfeature('./train/e3.jpg');

IF1=getfeature('./train/f1.jpg');
IF2=getfeature('./train/f2.jpg');
IF3=getfeature('./train/f3.jpg');
IF4=getfeature('./train/f4.jpg');

IG1=getfeature('./train/g1.jpg');
IG2=getfeature('./train/g2.jpg');
IG3=getfeature('./train/g3.jpg');
IG4=getfeature('./train/g4.jpg');
IG5=getfeature('./train/g5.jpg');
IG6=getfeature('./train/g6.jpg');

IH1=getfeature('./train/h1.jpg');
IH2=getfeature('./train/h2.jpg');
IH3=getfeature('./train/h3.jpg');
IH4=getfeature('./train/h4.jpg');

IJ1=getfeature('./train/j1.jpg');
IJ2=getfeature('./train/j2.jpg');
IJ3=getfeature('./train/j3.jpg');
IJ4=getfeature('./train/j4.jpg');

IK1=getfeature('./train/k1.jpg');
IK2=getfeature('./train/k2.jpg');
IK3=getfeature('./train/k3.jpg');
IK4=getfeature('./train/k4.jpg');
IK5=getfeature('./train/k5.jpg');
IK6=getfeature('./train/k6.jpg');
IK7=getfeature('./train/k7.jpg');

IL1=getfeature('./train/l1.jpg');
IL2=getfeature('./train/l2.jpg');
IL3=getfeature('./train/l3.jpg');

IM1=getfeature('./train/m1.jpg');
IM2=getfeature('./train/m2.jpg');

IN1=getfeature('./train/n1.jpg');
IN2=getfeature('./train/n2.jpg');
IN3=getfeature('./train/n3.jpg');
IN4=getfeature('./train/n4.jpg');
IN5=getfeature('./train/n5.jpg');

IP1=getfeature('./train/p1.jpg');
IP2=getfeature('./train/p2.jpg');
IP3=getfeature('./train/p3.jpg');
IP4=getfeature('./train/p4.jpg');
IP5=getfeature('./train/p5.jpg');

IQ1=getfeature('./train/q1.jpg');
IQ2=getfeature('./train/q2.jpg');
IQ3=getfeature('./train/q3.jpg');
IQ4=getfeature('./train/q4.jpg');

IR1=getfeature('./train/r1.jpg');

IS1=getfeature('./train/s1.jpg');
IS2=getfeature('./train/s2.jpg');

IT1=getfeature('./train/t1.jpg');
IT2=getfeature('./train/t2.jpg');
IT3=getfeature('./train/t3.jpg');
IT4=getfeature('./train/t4.jpg');

IU1=getfeature('./train/u1.jpg');
IU2=getfeature('./train/u2.jpg');

IV1=getfeature('./train/v1.jpg');
IV2=getfeature('./train/v2.jpg');
IV3=getfeature('./train/v3.jpg');
IV4=getfeature('./train/v4.jpg');

IW1=getfeature('./train/w1.jpg');
IW2=getfeature('./train/w2.jpg');
IW3=getfeature('./train/w3.jpg');

IX1=getfeature('./train/x1.jpg');
IX2=getfeature('./train/x2.jpg');
IX3=getfeature('./train/x3.jpg');

IY1=getfeature('./train/y1.jpg');

IZ1=getfeature('./train/z1.jpg');
IZ2=getfeature('./train/z2.jpg');
IZ3=getfeature('./train/z3.jpg');

Izang1=getfeature('./train/藏1.jpg');
Izang2=getfeature('./train/藏2.jpg');

Ichuan1=getfeature('./train/川1.jpg');
Ichuan2=getfeature('./train/川2.jpg');
Ichuan3=getfeature('./train/川3.jpg');
Ichuan4=getfeature('./train/川4.jpg');
Ichuan5=getfeature('./train/川5.jpg');
Ichuan6=getfeature('./train/川6.jpg');

Ie1=getfeature('./train/鄂1.jpg');
Ie2=getfeature('./train/鄂2.jpg');

Igan1=getfeature('./train/甘1.jpg');
Igan2=getfeature('./train/甘2.jpg');

Igui1=getfeature('./train/贵1.jpg');

Iguangxi1=getfeature('./train/桂1.jpg');
Iguangxi2=getfeature('./train/桂2.jpg');

Ihei1=getfeature('./train/黑1.jpg');

Ihu1=getfeature('./train/沪1.jpg');

Iji1=getfeature('./train/吉1.jpg');
Iji2=getfeature('./train/吉2.jpg');

Ihebei1=getfeature('./train/冀1.jpg');

Ijin1=getfeature('./train/津1.jpg');
Ijin2=getfeature('./train/津2.jpg');

Ishanxi1=getfeature('./train/晋1.jpg');
Ishanxi2=getfeature('./train/晋2.jpg');
Ishanxi3=getfeature('./train/晋3.jpg');

Ijing1=getfeature('./train/京1.jpg');
Ijing2=getfeature('./train/京2.jpg');
Ijing3=getfeature('./train/京3.jpg');
Ijing4=getfeature('./train/京4.jpg');

Iliao1=getfeature('./train/辽1.jpg');
Iliao2=getfeature('./train/辽2.jpg');
Iliao3=getfeature('./train/辽3.jpg');
Iliao4=getfeature('./train/辽4.jpg');

Ilu1=getfeature('./train/鲁1.jpg');
Ilu2=getfeature('./train/鲁2.jpg');

Imeng1=getfeature('./train/蒙1.jpg');

Imin1=getfeature('./train/闽1.jpg');

Ining1=getfeature('./train/宁1.jpg');

Iqing1=getfeature('./train/青1.jpg');

Iqiong1=getfeature('./train/琼1.jpg');

Ishan1=getfeature('./train/陕1.jpg');

Isu1=getfeature('./train/苏1.jpg');

Iwan1=getfeature('./train/皖1.jpg');

Ixiang1=getfeature('./train/湘1.jpg');
Ixiang2=getfeature('./train/湘2.jpg');
Ixiang3=getfeature('./train/湘3.jpg');
Ixiang4=getfeature('./train/湘4.jpg');
Ixiang5=getfeature('./train/湘5.jpg');

Ixin1=getfeature('./train/皖1.jpg');

Iyu1=getfeature('./train/渝1.jpg');

Ihenan1=getfeature('./train/豫1.jpg');
Ihenan2=getfeature('./train/豫1.jpg');

Iyue1=getfeature('./train/粤1.jpg');
Iyue2=getfeature('./train/粤2.jpg');
Iyue3=getfeature('./train/粤3.jpg');
Iyue4=getfeature('./train/粤4.jpg');

Iyun1=getfeature('./train/云1.jpg');

Izhe1=getfeature('./train/浙1.jpg');
Izhe2=getfeature('./train/浙2.jpg');



P=[I01,I02,I03,I04,I05,I06,I07,I08,I09,I010,I011,I012,I013,I014,I015,I016,I017,I018,I019,I020,I021,I022,I023,I024,I025,I026,I027,...
    I11,I12,I13,I14,I15,I16,I17,I18,I19,I110,I111,I21,I22,I23,I24,I25,I26,I27,I28,I29,I210,I211,I212,I213,I214,I31,I32,I33,I34,I35,...
    I36,I37,I38,I39,I310,I311,I312,I41,I42,I43,I44,I45,I46,I47,I48,I49,I410,I411,I412,I51,I52,I53,I54,I55,I56,I57,I58,I59,I510,I511,...
    I512,I513,I514,I515,I516,I517,I518,I519,I520,I521,I522,I523,I524,I525,I61,I62,I63,I64,I65,I66,I67,I68,I69,I610,I611,I612,I613,I614,...
    I615,I616,I617,I618,I619,I620,I621,I622,I623,I624,I625,I71,I72,I73,I74,I75,I76,I77,I78,I79,I710,I711,I712,I713,I714,I715,I716,...
    I81,I82,I83,I84,I85,I86,I87,I88,I89,I810,I811,I812,I813,I814,I815,I816,I817,I818,I819,I820,I821,I822,I823,I824,I825,I826,I827,I828,...
    I829,I830,I831,I832,I833,I834,I835,I836,I837,I838,I839,I840,I841,I842,I843,I844,I845,I91,I92,I93,I94,I95,I96,I97,I98,I99,I910,I911,...
    I912,I913,I914,I915,I916,I917,I918,I919,I920,I921,I922,I923,I924,I925,I926,I927,I928,IA1,IA2,IA3,IA4,IA5,IA6,IA7,IA8,IA9,IA10,IA11,...
    IA12,IA13,IA14,IA15,IA16,IA17,IA18,IA19,IB1,IB2,IB3,IB4,IB5,IB6,IB7,IB8,IB9,IB10,IC1,IC2,IC3,IC4,IC5,IC6,IC7,ID1,ID2,ID3,ID4,ID5,ID6,...
    ID7,ID8,IE1,IE2,IE3,IF1,IF2,IF3,IF4,IG1,IG2,IG3,IG4,IG5,IG6,IH1,IH2,IH3,IH4,IJ1,IJ2,IJ3,IJ4,IK1,IK2,IK3,IK4,IK5,IK6,IK7,IL1,IL2,IL3,...
    IM1,IM2,IN1,IN2,IN3,IN4,IN5,IP1,IP2,IP3,IP4,IP5,IQ1,IQ2,IQ3,IQ4,IR1,IS1,IS2,IT1,IT2,IT3,IT4,IU1,IU2,IV1,IV2,IV3,IV4,IW1,IW2,IW3,IX1,...
    IX2,IX3,IY1,IZ1,IZ2,IZ3,Izang1,Izang2,Ichuan1,Ichuan2,Ichuan3,Ichuan4,Ichuan5,Ichuan6,Ie1,Ie2,Igan1,Igan2,Igui1,Iguangxi1,Iguangxi2,...
    Ihei1,Ihu1,Iji1,Iji2,Ihebei1,Ijin1,Ijin2,Ishanxi1,Ishanxi2,Ishanxi3,Ijing1,Ijing2,Ijing3,Ijing4,Iliao1,Iliao2,Iliao3,Iliao4,Ilu1,Ilu2,Imeng1,Imin1,...
    Ining1,Iqing1,Iqiong1,Ishan1,Isu1,Iwan1,Ixiang1,Ixiang2,Ixiang3,Ixiang4,Ixiang5,Ixin1,Iyu1,Ihenan1,Ihenan2,Iyue1,Iyue2,Iyue3,Iyue4,...
    Iyun1,Izhe1,Izhe2];

P=double(P);
T=zeros(64,379);
T(1,1:27)=1;
T(2,28:38)=1;
T(3,29:52)=1;
T(4,53:64)=1;
T(5,65:76)=1;
T(6,77:101)=1;
T(7,102:126)=1;
T(8,127:142)=1;
T(9,143:187)=1;
T(10,188:215)=1;
T(11,216:234)=1;
T(12,235:244)=1;
T(13,245:251)=1;
T(14,252:259)=1;
T(15,260:262)=1;
T(16,263:266)=1;
T(17,267:272)=1;
T(18,273:276)=1;
T(19,277:280)=1;
T(20,281:287)=1;
T(21,288:290)=1;
T(22,291:292)=1;
T(23,293:297)=1;
T(24,298:302)=1;
T(25,303:306)=1;
T(26,307:307)=1;
T(27,308:309)=1;
T(28,310:313)=1;
T(29,314:315)=1;
T(30,316:319)=1;
T(31,320:322)=1;
T(32,323:325)=1;
T(33,326:326)=1;
T(34,327:329)=1;

T(35,330:331)=1;%
T(36,332:337)=1;%
T(37,338:339)=1;%
T(38,340:341)=1;%
T(39,342:342)=1;%
T(40,343:344)=1;%
T(41,345:345)=1;%
T(42,346:346)=1;%
T(43,347:348)=1;%
T(44,349:349)=1;%
T(45,350:351)=1;%
T(46,352:354)=1;%
T(47,355:358)=1;%
T(48,359:362)=1;%
T(49,363:364)=1;%
T(50,365:365)=1;%
T(51,366:366)=1;%
T(52,367:367)=1;%
T(53,368:368)=1;%
T(54,369:369)=1;%
T(55,370:370)=1;%
T(56,371:371)=1;%
T(57,372:372)=1;%
T(58,373:377)=1;%
T(59,378:378)=1;%
T(60,379:379)=1;%
T(61,380:381)=1;%
T(62,382:385)=1;
T(63,386:386)=1;
T(64,387:388)=1;

%% bp神经网络参数设置
net=newff(minmax(P),[800,34,64],{'logsig','logsig','logsig'},'trainrp');
net.inputWeights{1,1}.initFcn ='randnr';
net.layerWeights{2,1}.initFcn ='randnr';
net.trainparam.epochs=5000;%最大训练步数
net.trainparam.show=50;
net.trainparam.goal=0.0000000001;%误差设定
net=train(net,P,T);
save('net','net');

 

 

 

 

 

 

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值