【數(shù)字識(shí)別】基于BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)不同字體0-9的數(shù)字識(shí)別附matlab代碼
1 簡(jiǎn)介
阿拉伯?dāng)?shù)字作為唯一一種世界各國(guó)的通用符號(hào),為每個(gè)國(guó)家每個(gè)地區(qū)的研究人員提供了發(fā)揮智慧的平臺(tái),使他們?cè)跀?shù)據(jù)的搜集以及處理等方面更加方便快捷,促進(jìn)各國(guó)合作,進(jìn)行更深刻的理論研究。并且,它在許多方面都有著廣泛的實(shí)踐作用,例?如: 統(tǒng)計(jì)數(shù)據(jù)的報(bào)告,金融方面的報(bào)表,對(duì)信封上郵編的識(shí)別,對(duì)車牌號(hào)碼的精確識(shí)別等方面。先前不少學(xué)者已經(jīng)對(duì)神經(jīng)網(wǎng)絡(luò)做了大量的研討,BP?神經(jīng)網(wǎng)絡(luò)也因此而備受青睞。人們調(diào)查其系統(tǒng)實(shí)時(shí)性,研究其識(shí)別效果,更改其初始的權(quán)值以加快其收斂速度,探索最佳隱層節(jié)點(diǎn)數(shù)以提高網(wǎng)絡(luò),利用?BP網(wǎng)絡(luò)的優(yōu)勢(shì)正確地識(shí)別數(shù)字。論文主要分析的是?BP(?Back Propagation) 神經(jīng)網(wǎng)絡(luò)運(yùn)用于數(shù)字識(shí)別中處理問(wèn)題的能力效果。研究其訓(xùn)練網(wǎng)絡(luò)所用參數(shù),進(jìn)行分析比對(duì),選用最合適、效果最好的參數(shù)進(jìn)行最終測(cè)試,通過(guò)?MATLAB?這個(gè)強(qiáng)大的實(shí)驗(yàn)平臺(tái),對(duì)實(shí)驗(yàn)過(guò)程進(jìn)行真實(shí)仿造和還原,從而驗(yàn)證?BP?網(wǎng)絡(luò)運(yùn)用于數(shù)字識(shí)別的可行性與有效性。
?數(shù)字識(shí)別數(shù)字識(shí)別是字符識(shí)別的一種,這里主要是運(yùn)用BP?神經(jīng)網(wǎng)絡(luò)對(duì)?0,1,2,3,4,5,6,7,8,9?這十個(gè)阿拉伯?dāng)?shù)字進(jìn)行精確的識(shí)別。數(shù)字識(shí)別通常都會(huì)分為好幾個(gè)過(guò)程,以便按部就班地進(jìn)行,減少差錯(cuò)和失誤,而數(shù)字識(shí)別在神經(jīng)網(wǎng)絡(luò)中的進(jìn)程大致分為數(shù)字輸入、預(yù)處理、特征提取、模式匹配、判決、識(shí)別?6?個(gè)過(guò)程。
問(wèn)題描述設(shè)計(jì)一個(gè)適當(dāng)?shù)?BP?神經(jīng)網(wǎng)絡(luò),要求可以正確識(shí)別?10?個(gè)阿拉伯?dāng)?shù)字,當(dāng)它們?cè)谑艿揭欢ǖ脑肼暩蓴_影響時(shí),也可以較好地進(jìn)行識(shí)別。


2 部分代碼
clear all
m=input('請(qǐng)輸入測(cè)試樣本(F:\MyMATLAB\sjwl\try\):'); ?
I=strcat('.\try\',int2str(m),'.jpg');
U=imread(I);
imtool(U); ?%通過(guò)鍵盤輸入添加試驗(yàn)樣本
load ET51net net; ? %加載以訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)
p=zeros(900,1); ? ? %建立輸入樣本的空矩陣
p1=ones(30,30); ? ? %建立臨時(shí)存放樣本的30*30的矩陣
I1=im2bw(U,0.3); ? ? ? %對(duì)輸入圖像進(jìn)行二值化處理 采用全局閾值0.3
[m,n]=find(I1==0); ? ? ?
rowmin=min(m);
rowmax=max(m);
colummin=min(n);
colummax=max(n);
I2=I1(rowmin:rowmax,colummin:colummax); ?%截取是入圖像中的數(shù)字部分
rate=30/max(size(I2));
I3=imresize(I2,rate); ?%對(duì)輸入文件變尺寸處理
[i,j]=size(I3);
row=round((30-i)/2);
for hh=1:30
? ?p((hh-1)*30+1:(hh-1)*30+30,1)=p1(hh,1:30);
end ? ? ? ? ? ? ? ? ? ? ?%將處理的源樣本輸入供神經(jīng)網(wǎng)絡(luò)訓(xùn)練的樣本 ?
x=sim(net,p); ? ? ? ? ? %測(cè)試網(wǎng)絡(luò)
x=round(x); ? ? ? ? ? ? %輸出網(wǎng)絡(luò)識(shí)別結(jié)果
3 仿真結(jié)果



4 參考文獻(xiàn)
[1]羅莉. BP神經(jīng)網(wǎng)絡(luò)數(shù)字識(shí)別的Matlab實(shí)現(xiàn)[J]. 電子技術(shù)與軟件工程, 2019(20):2.
博主簡(jiǎn)介:擅長(zhǎng)智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)、信號(hào)處理、元胞自動(dòng)機(jī)、圖像處理、路徑規(guī)劃、無(wú)人機(jī)等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問(wèn)題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。
