課程設(shè)計(jì)---簡(jiǎn)易車牌識(shí)別系統(tǒng)設(shè)計(jì)_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)論文</b></p><p>  課程名稱 光電圖像處理 </p><p>  題目名稱 簡(jiǎn)易車牌識(shí)別系統(tǒng)設(shè)計(jì) </p><p>  學(xué) 號(hào)

2、 </p><p>  姓 名 </p><p>  指導(dǎo)老師 </p><p>  起止時(shí)間 2010年5月1日至2010年5月30日

3、 </p><p>  2010年5 月 30 日</p><p>  電子科技大學(xué)光電信息學(xué)院</p><p>  課 程 設(shè) 計(jì) 任 務(wù) 書</p><p>  一、課程名稱 ___________ 光電圖像處理______________________

4、 </p><p>  二、課程設(shè)計(jì)題目______________ 簡(jiǎn)易車牌識(shí)別系統(tǒng)設(shè)計(jì)_____________ __ </p><p><b>  二、課程設(shè)計(jì)目的</b></p><p>  通過簡(jiǎn)易車牌識(shí)別系統(tǒng)的設(shè)計(jì),能夠?qū)怆妶D像處理系統(tǒng)及應(yīng)用有一個(gè)整體認(rèn)識(shí)。對(duì)圖像識(shí)別中涉及的關(guān)鍵技術(shù),如圖像增強(qiáng)、直方圖分析、閾

5、值分割、特征匹配等有更進(jìn)一步的理解。培養(yǎng)學(xué)生在小系統(tǒng)設(shè)計(jì)中的總體思路、關(guān)鍵技術(shù)分析、簡(jiǎn)單程序設(shè)計(jì)等能力。</p><p><b>  三、課程設(shè)計(jì)要求</b></p><p>  1、了解車牌識(shí)別的關(guān)鍵技術(shù)及難點(diǎn)問題;</p><p>  2、明確小型車牌識(shí)別系統(tǒng)的各功能模塊;</p><p>  3、圖像處理算法的程序

6、設(shè)計(jì);</p><p>  4、提交綜合課程設(shè)計(jì)報(bào)告。</p><p>  四、課程設(shè)計(jì)任務(wù)和內(nèi)容</p><p>  1、查閱相關(guān)文獻(xiàn),了解車牌識(shí)別技術(shù)現(xiàn)狀及關(guān)鍵知識(shí)點(diǎn)分析;</p><p>  2、提交小型車牌識(shí)別系統(tǒng)設(shè)計(jì)方案,需畫出模塊及流程圖;</p><p>  3、關(guān)鍵算法,如圖像分割、字符識(shí)別的程序?qū)崿F(xiàn)(

7、可用Matlab或Visual C++等)。</p><p>  4、撰寫綜合課程設(shè)計(jì)報(bào)告。</p><p><b>  五、參考文獻(xiàn)</b></p><p>  [1] 周妮娜,王敏,黃心漢,等.車牌字符識(shí)別的預(yù)處理算法.計(jì)算機(jī)工程與應(yīng)用,2003,(15)</p><p>  [2] 董慧穎,曹仁帥.汽車牌照自動(dòng)識(shí)別

8、系統(tǒng)中字符分割算法研究.沈陽工業(yè)學(xué)院學(xué)報(bào)2003(12)Vol.22 No.4</p><p>  [3] 崔 江,王友仁.車牌自動(dòng)識(shí)別方法中的關(guān)鍵技術(shù)研究.計(jì)算機(jī)測(cè)量與控制,2003.11(4):260-262</p><p>  [4] 馬俊莉,莫玉龍,王明祥.一種基于改進(jìn)模板匹配的車牌字符識(shí)別方法.小型微型計(jì)算機(jī)系統(tǒng),2003,23(2)</p><p>  

9、基于MATLAB的簡(jiǎn)易車牌識(shí)別系統(tǒng)設(shè)計(jì)</p><p>  摘要:汽車車牌識(shí)別技術(shù)在圖像識(shí)別領(lǐng)域有其典型性與實(shí)用性的意義,而MATLAB有其突出的處理圖像數(shù)據(jù)的能力,這里運(yùn)用MATLAB實(shí)現(xiàn)對(duì)圖像的預(yù)處理、車牌定位、車牌字符分割以及字符識(shí)別,最終設(shè)計(jì)出一套簡(jiǎn)易車牌識(shí)別系統(tǒng)。該系統(tǒng)能準(zhǔn)確定位在自然背景下的藍(lán)色車牌,并通過統(tǒng)計(jì)手段分離出每個(gè)字符,最后識(shí)別出每個(gè)字符。經(jīng)過多次測(cè)試,結(jié)果表明該系統(tǒng)對(duì)藍(lán)色車牌有相當(dāng)好的識(shí)別

10、能力。</p><p>  關(guān)鍵詞:MATLAB;圖像處理;車牌定位;字符分割;字符識(shí)別</p><p><b>  1 引言</b></p><p>  車牌識(shí)別對(duì)于交通管理有著重要的意義,車牌是車輛的唯一標(biāo)志,在交通系統(tǒng)之正逐漸向智能化自動(dòng)化發(fā)展的今日,自動(dòng)車牌識(shí)別系統(tǒng)有著至關(guān)重要的意義。比如,通過交通監(jiān)控系統(tǒng)自動(dòng)識(shí)別獲得違規(guī)、超速、肇事車

11、輛的車牌信息做到實(shí)時(shí)監(jiān)控就現(xiàn)今車牌系統(tǒng)而言,有很多出色的系統(tǒng),但對(duì)于100%識(shí)別率還沒有絕對(duì)可靠的系統(tǒng),所以這還是一項(xiàng)有待完善的技術(shù),有著很大的研究空間與價(jià)值。就現(xiàn)今的研究成果看車牌識(shí)別多分為四步[1],即圖像預(yù)處理、車牌定位、字符分割、字符識(shí)別。本系統(tǒng)也以這四個(gè)方面為模塊用MATLAB進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。</p><p><b>  2 系統(tǒng)實(shí)現(xiàn)</b></p><p>

12、;<b>  2.1 系統(tǒng)簡(jiǎn)介</b></p><p>  如上圖,為本系統(tǒng)的基本框架。首先通過圖像預(yù)處理得到清晰圖像,再通過車牌定位算法定位車牌,然后對(duì)得到的車牌進(jìn)行字符分割,再對(duì)分割出的字符一一識(shí)別,最后輸出結(jié)果。其中車牌定位最為關(guān)鍵,準(zhǔn)確的定位將使下面的工作事半功倍的進(jìn)行下去。</p><p>  2.2 圖像預(yù)處理</p><p> 

13、 對(duì)于采集到的圖像不都是滿意的圖像,總伴有各種各樣的噪聲幾失真。對(duì)于交通監(jiān)控系統(tǒng)采集的圖像多會(huì)由于天氣、被測(cè)物速度等因素使得圖像產(chǎn)生失真,而這些因素有些是可以事先估計(jì)到的。比如一天下雨造成的圖像較暗淡或造成一些顏色的色差,可以通過圖像增強(qiáng)將圖中的重要信息突出出來,如通過灰度直方圖對(duì)圖像亮度進(jìn)行調(diào)整增加圖像的可分辨度或通過相匹配的濾波器對(duì)圖像濾波去除噪聲。又如,對(duì)運(yùn)動(dòng)物體拍攝的圖像很可能存在拖影的現(xiàn)象[2],可通過圖像復(fù)原技術(shù)對(duì)速度產(chǎn)生的

14、圖象退化做逆運(yùn)算,從而得到較好的物體圖像。</p><p><b>  2.3 車牌定位</b></p><p>  自然環(huán)境下,汽車圖像背景復(fù)雜、光照不均勻,如何在自然背景中準(zhǔn)確地確定牌照區(qū)域是整個(gè)識(shí)別過程的關(guān)鍵。如何在自然背景下準(zhǔn)確選取車牌區(qū)域有多種辦法,如區(qū)域大小匹配[3]、灰度二值化后直方圖特征選取[4]或顏色投影匹配等。其中顏色投影匹配方法最具特征性,也最容

15、易準(zhǔn)確識(shí)別車牌區(qū)域。本系統(tǒng)就是采用了這個(gè)思想,考慮到車牌為標(biāo)準(zhǔn)化的物體,其中小型民用車輛都為藍(lán)底白字,識(shí)別時(shí)可針對(duì)車牌特有的藍(lán)色背景進(jìn)行選取。經(jīng)過多張圖像統(tǒng)計(jì)發(fā)現(xiàn)車牌的顏色比起背景很具特征,其RGB值約在R(0,30),G(20,100),B(110,250)范圍內(nèi)所以可以用以下程序找出</p><p>  r1=0; r2=30; g1=10; g2=100; b1=110; b2=250;</p>

16、<p>  if((I(i,j,1)<=r2&&(I(i,j,1)>=r1))&&((I(i,j,2)<=g2)&&(I(i,j,2)>=g1))&&((I(i,j,3)<=b2)&&(I(i,j,3)>=b1))) </p><p>  Blue_y(i,1)= Blue_y(i,1

17、)+1; </p><p><b>  End </b></p><p>  這樣判斷條件設(shè)立,考慮到車牌在縱向上比橫向加總特征更加明顯,故先用循環(huán)語句縱向加總,進(jìn)行縱向投影統(tǒng)計(jì),選出統(tǒng)計(jì)量大于一定閾值Pmx要求的,對(duì)于低于要求的則不予考慮。從而篩選找出橫向范圍,找到縱向的端點(diǎn)坐標(biāo)。再對(duì)橫軸做同樣的篩選找出橫向范圍,則可選出車牌的區(qū)域。具體操作為:<

18、;/p><p>  (1)經(jīng)判斷得到每縱符合判斷的像素總和Blue_y(i,1)</p><p> ?。?)[temp MaxY]=max(Blue_y); %取出其中極大值坐標(biāo)</p><p> ?。?)while ((Blue_y(PY1,1)>=5)&&(PY1>1))</p><p>  PY1=PY1-1;&

19、lt;/p><p>  End %以極大值為中心向兩邊判斷符合閾值的縱列。此處閾值為5.</p><p> ?。?)IY=I(PY1:PY2,:,:);此即為縱向范圍</p><p> ?。?)同上方法找出橫向范圍</p><p>  下圖為截取的車牌圖像:</p><p>  選取時(shí)可適當(dāng)放寬選區(qū)從而保證車牌的完整

20、。</p><p><b>  2.4 字符分割</b></p><p>  這將是承前啟后的一步。車牌定位后節(jié)的圖像可很容易的發(fā)現(xiàn)其顏色上大體上只有藍(lán)白兩種色彩,其中包含的有用信息也多在藍(lán)白分別代表的區(qū)域上,若對(duì)其進(jìn)行二值化處理則可去除多余的顏色信息而突出其區(qū)域性。而分割的優(yōu)劣則將直接影響車牌識(shí)別的結(jié)果。</p><p><b> 

21、 2.4.二值化</b></p><p>  二值化就是將原圖RGB圖像變?yōu)橛谩?”“1”表示的二值圖像,只保留歸類后的區(qū)域信息,而把其他次要信息忽略。首先將RGB圖像變?yōu)?56級(jí)的灰度圖像。接著就此灰度圖二值化,對(duì)此灰度圖像進(jìn)行二值化實(shí)質(zhì)是將圖像中的每一個(gè)象素按一定規(guī)則進(jìn)行分類,也就是將圖像轉(zhuǎn)換為只有“0”“1”(黑,白)表示的二值圖像。最簡(jiǎn)單的分類規(guī)則是依據(jù)區(qū)域相似性和不連續(xù)性,取定一灰度閾值。大

22、于此閾值的象素點(diǎn)置成黑(白),而小于此閾值的象素點(diǎn)置成白 (黑)。常用的二值化算法有:Otsu 算法、Bernsern 算法和熵函數(shù)算法等。文獻(xiàn)報(bào)道中多數(shù)系統(tǒng)都是采用這種灰度閾值二值化的方法。有時(shí)為了簡(jiǎn)化算法,減少運(yùn)算時(shí)間,取圖像平均值為閾值[21];有的考慮到牌照光照不均,采取了牌照字幅分別二值化的方法[25],也就是先對(duì)牌照?qǐng)D像進(jìn)行分割,再對(duì)分割出來的字符圖像進(jìn)行獨(dú)立梯度統(tǒng)計(jì),取各自不同的閾值進(jìn)行分類;這里用簡(jiǎn)單的最小值最大值之間的

23、45%做閾值。具體做法如下:</p><p>  (1)I2=rgb2gray(Plate)%將圖像變?yōu)榛叶葓D像</p><p> ?。?)fmax=double(max(max(I2)));</p><p>  fmin=double(min(min(I2)));</p><p>  lvl=(fmax1-(fmax-fmin)/2.2)/

24、255;%獲得最佳閾值</p><p> ?。?)bw22=im2bw(I2,lvl);%將圖像轉(zhuǎn)換為二進(jìn)制圖像</p><p> ?。?)bw11=imresize(bw22,[50,200]);</p><p>  figure,imshow(bw11)%將圖像標(biāo)準(zhǔn)化等待下一步處理</p><p><b>  處理完畢的圖像:&

25、lt;/b></p><p>  接下來就是分割的部分了。</p><p><b>  2.4.2字符分割</b></p><p>  從上面處理完的圖形可見每個(gè)字符之間都有一段間斷,正以利用這段間斷帶來的統(tǒng)計(jì)規(guī)律將字符分割開。這類似于上面顏色統(tǒng)計(jì),這里將二值圖進(jìn)行統(tǒng)計(jì),結(jié)果如下圖:</p><p>  很明顯看出

26、每個(gè)字符間一段一段的間斷,這里再運(yùn)用二值化將小于閾值的全部歸零大于的全部置一,則值為一的部分就為有效字符部分如圖所示:</p><p>  此時(shí)通過檢測(cè)上升下降沿,并為上升下降沿分別建立數(shù)組位置一一對(duì)應(yīng),則每一組上升下降沿就對(duì)應(yīng)一個(gè)字符的橫坐標(biāo)位置范圍,從圖中可見其中有些噪聲條紋,則可將寬度小于18像素(前面已經(jīng)標(biāo)準(zhǔn)化過)剔除達(dá)到去噪聲效果。具體程序?qū)崿F(xiàn)如下:</p><p> ?。?)f

27、or j=1:x2</p><p>  for i=1:y2</p><p>  if P(i,j)~=0</p><p>  Px(1,j)= Px(1,j)+1; </p><p><b>  end </b></p><p>  end </p

28、><p><b>  end%統(tǒng)計(jì)</b></p><p> ?。?)for i=1:201</p><p>  if Px3(i)==0 && Px3(i+1)==1 </p><p><b>  m1(a1)=i;</b></p><p><b> 

29、 a1=a1+1;</b></p><p>  elseif Px3(i)==1 && Px3(i+1)==0 </p><p><b>  m2(a2)=i;</b></p><p><b>  a2=a2+1;</b></p><p><b>  end&l

30、t;/b></p><p>  end %上升沿下降沿分別建立數(shù)組</p><p>  (2)for i=1:x2 </p><p>  if Px(1,i)>1</p><p><b>  Px2(i)=1;</b></p><p><b>  else</b&g

31、t;</p><p><b>  Px2(i)=0;</b></p><p><b>  end</b></p><p>  end %二值化</p><p><b> ?。?)t=0;</b></p><p>  for i=1:a2-1</

32、p><p>  if (m2(i)-m1(i))>=18 </p><p><b>  t=t+1;</b></p><p>  m2(t)=m2(i);</p><p>  m1(t)=m1(i);</p><p><b>  end</b></p>&l

33、t;p><b>  end%去掉噪聲</b></p><p>  這樣基本完成了字符的分割,效果如下:</p><p><b>  2.5 字符識(shí)別</b></p><p>  分割好的字符將進(jìn)入最后一步識(shí)別?,F(xiàn)今的識(shí)別技術(shù)很多,但各有優(yōu)缺點(diǎn),就字符識(shí)別而言有如下幾類[5]:(1)利用字符的結(jié)構(gòu)特征和變換進(jìn)行特征提取

34、,如:Fourier 變Karhuren-Loeve 變換等,這種方法對(duì)字符的傾斜、變形都有較高的容忍度,但運(yùn)算量巨大,對(duì)計(jì)算機(jī)性能要求高;(2)利用字符的統(tǒng)計(jì)特征進(jìn)行特征提取,目前多數(shù)字符識(shí)別系統(tǒng)均采用此方法,如提取字符號(hào)的投影特征、網(wǎng)格特征和輪廓特征組成字符特征矢量,進(jìn)行特征匹配,結(jié)果具有較高的識(shí)別率;(3)基于字符結(jié)構(gòu)分析的識(shí)別方法,這種方法可以識(shí)別有較大旋轉(zhuǎn)、變形、縮放的字符圖像,但需要進(jìn)行復(fù)雜的字符筆劃分析和抽取,對(duì)牌照字符圖

35、像質(zhì)量要求較高;(4)模板匹配法,此法方法簡(jiǎn)便,廣泛采用,這種方法對(duì)于有輕微變形、筆劃缺損、污跡干擾的字符圖像有較好的識(shí)別率,識(shí)別速度與匹配庫大小有關(guān)。(5)基于人工神經(jīng)網(wǎng)絡(luò)算法(ANNS)的識(shí)別,這是對(duì)人腦或自然神經(jīng)網(wǎng)絡(luò)若干基本特性的抽象和模擬,其優(yōu)點(diǎn)為可以學(xué)習(xí)自適應(yīng)不確定系統(tǒng),可以充分逼近任意復(fù)雜的非線性關(guān)系,具有聯(lián)想儲(chǔ)存功能,但其程序復(fù)雜,識(shí)別前需要多次訓(xùn)練,且運(yùn)算較大。</p><p>  考慮到本字符識(shí)

36、別只涉及31個(gè)漢字26個(gè)字母以及十個(gè)數(shù)字,字符庫很容易建立,運(yùn)用模板匹配法應(yīng)該是最好的選擇。首先需要建立字庫,可將每個(gè)字符模板(模板均為二值圖像)按約定好的順序大小依次排入一張.bmp圖中,再用matlab調(diào)用圖片與所要識(shí)別圖像用corr2()函數(shù)一一比較,找出其中最大值及其對(duì)應(yīng)位置編號(hào)再用switch函數(shù)賦相應(yīng)的值即完成。</p><p><b>  3 結(jié)論</b></p>

37、<p>  經(jīng)過幾幅圖像的測(cè)試,本系統(tǒng)都能較好的識(shí)別出來,但系統(tǒng)還是存在適用范圍,本簡(jiǎn)易系統(tǒng)只考慮了藍(lán)色車牌情況,所以只適用于藍(lán)色車牌識(shí)別,當(dāng)然對(duì)參數(shù)稍作改動(dòng)也能適應(yīng)其他車牌。由于運(yùn)用的是顏色識(shí)別,對(duì)于背景中有大面積藍(lán)色物體的就不能很好識(shí)別了,但可以通過與區(qū)域匹配程序結(jié)合完成識(shí)別。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]

38、崔江、王友仁.車牌自動(dòng)識(shí)別方法中的關(guān)鍵技術(shù)研究.計(jì)算機(jī)測(cè)量與控制,2003.11</p><p>  [2]彭真明,雍楊,楊先明.光電圖像處理,電子科技大學(xué)出版社,2008.3</p><p>  [3]王剛,冀小平.基于MATLAB 的車牌識(shí)別系統(tǒng)的研究.中國(guó)科技論文在線</p><p>  [4]魯小平,陳阿林.基于MATLAB的車牌識(shí)別.測(cè)繪通報(bào),2007.V

39、ol.10</p><p>  [5]孫彬.車牌自動(dòng)識(shí)別圖像處理關(guān)鍵技術(shù)研究.電子科技大學(xué)學(xué)位論文</p><p><b>  課程設(shè)計(jì)總結(jié)</b></p><p>  通過這次車牌識(shí)別系統(tǒng)的課程設(shè)計(jì)的完成,對(duì)光電圖像處理課程的作用和意義有了更深的理解,對(duì)課程所教授的內(nèi)容也在實(shí)踐中靈活運(yùn)用加深了印象,也學(xué)會(huì)了運(yùn)用MATLAB這一數(shù)學(xué)編程工具。對(duì)

40、于科研的一般過程有了了解。同時(shí)也提升了獨(dú)立解決問題的能力,以及一些自己的創(chuàng)新能力。在此感謝彭真明老師在課堂上的悉心授教,光電圖像處理這門課讓我學(xué)習(xí)了很多有實(shí)踐價(jià)值的東西。</p><p><b>  附錄程序:</b></p><p><b>  clc;</b></p><p>  close all;</p>

41、;<p>  clear all;</p><p>  I=imread('3.jpg');</p><p>  %%%%%ͨ¹ýÑÕɫͳ¼ÆÑ¡Ôñ³µÅÆ

42、;ÇøÓò</p><p>  [y,x,z]=size(I);</p><p>  dbI=double(I);</p><p>  Blue_y=zeros(y,1);</p><p>  r1=0;r2=30;g1=10;g2=100;b1=110;b2=250;</p><p

43、><b>  for i=1:y</b></p><p><b>  for j=1:x</b></p><p>  if((dbI(i,j,1)<=r2&&(dbI(i,j,1)>=r1))&&((dbI(i,j,2)<=g2)&&(dbI(i,j,2)>=g1))&

44、amp;&((dbI(i,j,3)<=b2)&&(dbI(i,j,3)>=b1))) </p><p>  % À¶É«RGBµÄ»Ò¶È·¶Î§</p><p>  Blue_y(i,1)= Blue_y(i,1)

45、+1; % À¶É«ÏóËصãͳ¼Æ </p><p><b>  end </b></p><p>  end </p><p><b>  end&

46、lt;/b></p><p>  [temp MaxY]=max(Blue_y); % Y·½Ïò³µÅÆÇøÓòÈ·¶¨</p><p><b>  PY1=MaxY;</b></p

47、><p>  while ((Blue_y(PY1,1)>=5)&&(PY1>1))</p><p>  PY1=PY1-1;</p><p><b>  end </b></p><p><b>  PY2=MaxY;</b></p><p>

48、  while ((Blue_y(PY2,1)>=5)&&(PY2<y))</p><p>  PY2=PY2+1;</p><p><b>  end</b></p><p>  IY=I(PY1:PY2,:,:);</p><p>  %%%%%%%% X ·½

49、7;ò %%%%%%%%%% </p><p>  Blue_x=zeros(1,x); % ½øÒ»²½È·¶¨X·½ÏòµÄ³µÅÆÇøÓò

50、;</p><p><b>  for j=1:x</b></p><p>  for i=PY1:PY2</p><p>  if((dbI(i,j,1)<=30)&&((dbI(i,j,2)<=100)&&(dbI(i,j,2)>=51))&&((dbI(i,j,3)<

51、=255)&&(</p><p>  dbI(i,j,3)>=119)))</p><p>  Blue_x(1,j)= Blue_x(1,j)+1; </p><p><b>  end </b></p><p>  end </p><

52、;p><b>  end</b></p><p><b>  PX1=1;</b></p><p>  while ((Blue_x(1,PX1)<3)&&(PX1<x))</p><p>  PX1=PX1+1;</p><p><b>  end

53、 </b></p><p><b>  PX2=x;</b></p><p>  while ((Blue_x(1,PX2)<3)&&(PX2>PX1))</p><p>  PX2=PX2-1;</p><p><b>  end</b></p>

54、<p>  PX1=PX1-2; % ¶Ô³µÅÆÇøÓòµÄÐÞÕý</p><p>  PX2=PX2+4;</p><p>  Plate=I(PY1+2:PY2-2,PX1:PX2,:);</p>

55、<p>  figure,imshow(Plate)</p><p>  %%%%%%%%%%%%</p><p>  %³µÅÆÇøÓò¶þÖµ»¯</p><p>  I2=rgb2gray(Plate);<

56、;/p><p>  %figure,imshow(I2)</p><p>  fmax1=double(max(max(I2)));</p><p>  fmin1=double(min(min(I2)));</p><p>  level=(fmax1-(fmax1-fmin1)/2.2)/255;%»ñµ

57、5;×î¼ÑãÐÖµ</p><p>  bw22=im2bw(I2,level);%½«Í¼Ïñת»»Îª¶þ½øÖÆͼÏ

58、;ñ</p><p>  %figure,imshow(bw22)</p><p>  %%%%%%%%%%%%%%%%%</p><p>  %±ê×¼»¯Îª¡¾50£¬200¡¿</p><p

59、>  bw11=imresize(bw22,[50,200]);</p><p>  figure,imshow(bw11)</p><p>  %%%%%%%%%%%%%%%%%%%%</p><p>  [y1,x1]=size(bw11);</p><p>  P1=double(bw11);</p><p&g

60、t;  Px1=zeros(y1,1);</p><p>  for j=1:y1</p><p>  for i=1:x1</p><p>  if P1(j,i)~=0</p><p>  Px1(j)= Px1(j)+1; </p><p><b>  end </b

61、></p><p>  end </p><p><b>  end</b></p><p>  % figure,plot(Px1);grid</p><p><b>  tol=0;</b></p><p>  for i=1:50 </p>

62、<p>  tol=Px1(i)+tol;</p><p><b>  end</b></p><p>  el=tol/50;</p><p>  for i=1:50 </p><p>  if Px1(i)>=0.5*el</p><p><b>  break

63、</b></p><p><b>  end</b></p><p><b>  end</b></p><p>  for j=50:-1:1</p><p>  if Px1(j)>=0.2*el</p><p><b>  break<

64、/b></p><p><b>  end</b></p><p><b>  end</b></p><p>  bw11=bw11(i:j,:);</p><p>  % figure,imshow(bw11)</p><p>  %%%%%%%%%%%%%%%%%

65、</p><p>  %±ê×¼»¯Îª¡¾50£¬200¡¿</p><p>  bw11=imresize(bw11,[50,200]);</p><p>  %figure,imshow(bw11)</p>

66、<p>  %%%%%%%%%%%%%%%%%%%%</p><p>  %%%%%%%%%%%%%</p><p>  %%ÊúÏòͳ¼Æ°×É«ÇøÓò</p><p>  [y2,x2]=s

67、ize(bw11);</p><p>  P=double(bw11);</p><p>  Px=zeros(1,x2);</p><p>  Px3=zeros(1,x2);</p><p>  for j=1:x2</p><p>  for i=1:y2</p><p>  if P(i

68、,j)~=0</p><p>  Px(1,j)= Px(1,j)+1; </p><p><b>  end </b></p><p>  end </p><p><b>  end</b></p><p>  %figure,p

69、lot(Px);grid</p><p><b>  %%%%%%%</b></p><p><b>  %%¶þÖµ»¯</b></p><p>  for i=1:x2 </p><p>  if Px(1,i)>1</p&

70、gt;<p><b>  Px2(i)=1;</b></p><p><b>  else</b></p><p><b>  Px2(i)=0;</b></p><p><b>  end</b></p><p><b>  en

71、d</b></p><p>  figure,bar(Px2);grid</p><p>  %%%%%%%%%%%</p><p>  %%%%%%%%%%%%%%%ͨ¹ýÉÏÉýÑØϽµÑ

72、6;·Ö¸ô×Ö·û</p><p>  Px3=[0,Px2,0];</p><p><b>  a2=1;</b></p><p><b>  a1=1;</b></p><p>  for i=1:201</

73、p><p>  if Px3(i)==0 && Px3(i+1)==1 </p><p><b>  m1(a1)=i;</b></p><p><b>  a1=a1+1;</b></p><p>  elseif Px3(i)==1 && Px3(i+1)==0 &l

74、t;/p><p><b>  m2(a2)=i;</b></p><p><b>  a2=a2+1;</b></p><p><b>  end</b></p><p>  end %ͨ¹ýÉÏÉ&#

75、253;ÑØϽµÑØ·Ö¸ô×Ö·û</p><p>  %%%%%%%%%%%%% %%È¥µôһЩÔëÉù</p&g

76、t;<p><b>  t=0;</b></p><p>  for i=1:a2-1</p><p>  if (m2(i)-m1(i))>=18 </p><p><b>  t=t+1;</b></p><p>  m2(t)=m2(i);</p><

77、p>  m1(t)=m1(i);</p><p><b>  end</b></p><p><b>  end</b></p><p>  %%%%%%%%%%%%%%%%%%ÏÔʾͼÏñ</p><p> 

78、 m2(t)=m2(t)-1;</p><p><b>  for i=1:t</b></p><p>  Plat=bw11(:,m1(i):m2(i));</p><p>  subplot(1,a2-1,i),imshow(Plat)</p><p><b>  end</b></p&g

79、t;<p><b>  for i=1:t</b></p><p>  PP(:,:,i)=imresize(bw11(:,m1(i):m2(i)),[59,47]);</p><p>  c=fincode(PP(:,:,i),i) ;</p><p><b>  char(c)</b></p>

80、<p><b>  end</b></p><p>  function zi=fincode(P,n)</p><p>  std1=imread('chinese.bmp');</p><p>  std2=imread('number.bmp');</p><p>&l

81、t;b>  if n==1</b></p><p>  for i=1:31</p><p><b>  x=47*i;</b></p><p>  std=std1(:,x-46:x);</p><p>  samel(i)=corr2(P,std);</p><p><

82、b>  end</b></p><p><b>  else</b></p><p>  for i=1:36</p><p><b>  x=47*i;</b></p><p>  std=std2(:,x-46:x);</p><p>  samel(i

83、)=corr2(P,std);</p><p><b>  end</b></p><p><b>  end</b></p><p>  [cor,num]=max(samel(:));</p><p><b>  if n==1</b></p><p&g

84、t;  switch num</p><p><b>  case 1</b></p><p><b>  c='¾©';</b></p><p><b>  case 2</b></p><p><b>  c='

85、9;ò';</b></p><p><b>  case 3</b></p><p><b>  c='»¦';</b></p><p><b>  case 13</b></p><p><b>  

86、c='³';</b></p><p><b>  otherwise</b></p><p><b>  end</b></p><p><b>  else</b></p><p>  switch num</p>

87、<p><b>  case 1</b></p><p><b>  c='A';</b></p><p><b>  case 2</b></p><p><b>  c='B';</b></p><p>&

88、lt;b>  case 3</b></p><p><b>  c='C';</b></p><p><b>  case 4</b></p><p><b>  c='1';</b></p><p><b>  ca

89、se 5</b></p><p><b>  c='2';</b></p><p><b>  case 6</b></p><p><b>  c='4';</b></p><p><b>  otherwise</

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論