字符分割模塊算法_第1頁
字符分割模塊算法_第2頁
字符分割模塊算法_第3頁
字符分割模塊算法_第4頁
字符分割模塊算法_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、% 字符分割模塊算法 % 定位剪切后的彩色車牌圖像-灰度-二值化-旋轉(zhuǎn)-統(tǒng)一到黑底白字-去除上下邊框-反旋轉(zhuǎn)-切割出最小范圍-濾波-形態(tài)學(xué)處理-分出7 個(gè)字符% 去除上下邊框算法:% 1.黑白跳變小于閾值則被視為背景;2.連續(xù)白線大于某閾值則被認(rèn)為是背景% 3.單行白色大于閾值則被認(rèn)為是背景,考慮FLAG的值;% 4.做完以上處理后,上邊1/2中搜索連續(xù)兩條黑線,認(rèn)為該黑線以上為背景;在下邊1/2中搜索連續(xù)兩條黑線,認(rèn)為該黑線以下為背景% 歸一化為40*20,商用系統(tǒng)程序中歸一化為:32*16,此處僅論文算法成果演示作用close all,clear,clc filename,filepath

2、=uigetfile(*.jpg,輸入一個(gè)定位裁剪后的車牌圖像) jpg=strcat(filepath,filename); a=imread(jpg) figure(1),subplot(3 2 1),imshow(a),title(定位剪切后的彩色車牌圖像) %figure,subplot(2 2 1),imshow(a),title(定位剪切后的彩色車牌圖像) b=rgb2gray(a); imwrite(b,2.車牌灰度圖像.jpg); figure(1),subplot(3 2 2),imshow(b),title(2.定位剪切后的彩色車牌圖像) g_max=double(max(

3、max(b); g_min=double(min(min(b); T=round(g_max-(g_max-g_min)/3); %T:二值化的閾值 m,n=size(b); d=(double(b)=T); %d:二值圖像 imwrite(d,3.車牌灰度圖像.jpg); figure(1),subplot(3 2 3),imshow(d),title(3.定位剪切后的彩色車牌圖像) % 旋轉(zhuǎn) rotate=0; bw=edge(d); m,n=size(d); theta=0:179; %返回值r表示的列中包含了對(duì)應(yīng)于theta中每一個(gè)角度的Radon變換結(jié)果 %向量xp包含相應(yīng)的沿x軸的

4、坐標(biāo) r,xp=radon(bw,theta); %radon變換函數(shù) i=find(r0); foo,ind=sort(-r(i); k=i(ind(1:size(i); y,x=ind2sub(size(r),k); mm,nn=size(x); if mm=0&nn=0 j=1; while mm=1&jj); foo,ind=sort(-r(i); k=i(ind(1:size(i); y,x=ind2sub(size(r),k); mm,nn=size(x); j=j+1; end if nn=0 if x %Empty matrix:0-by-1 when x is an empt

5、y array. x=x; else %可能x為空值 x=90; %其實(shí)就是不旋轉(zhuǎn) end d=imrotate(d,abs(90-x); % 旋轉(zhuǎn)圖像 rotate=1; end end imwrite(d,4.Radon 變換旋轉(zhuǎn)后的二值圖像.jpg); figure(1),subplot(3 2 4),imshow(d),title(4.Radon 變換旋轉(zhuǎn)后的二值圖像) % 統(tǒng)一到白字黑底 m,n=size(d); %flag=0 表示原來就是白字黑底,否則表示原來是白底黑字 flay=0; c=d(round(m/3):m-round(m/3),round(n/3):n-round(

6、n/3); if sum(sum(c)/m/n*90.5 d=d; flag=1; end % 對(duì)反色后的圖像預(yù)處理,整列幾乎為白的認(rèn)為是背景 if flag=1 for j=1:n if sum(sum(d(:,j)/m=0.95 d(;,j)=0; end end % 對(duì)以上處理后的圖像再處理, %在左邊1/2處找連續(xù)2條黑線,認(rèn)為該黑線左邊為背景;在右邊1/2處找連續(xù)2條黑線,認(rèn)為該黑線右邊為背景 %左邊1/2 for j=1:round(n/2) if sum(sun(d:,j:j+0)=0 jj=j; end end d(:,1:jj)=0; %右邊1/2 for j=1:-1:ro

7、und(n/2) if sum(sun(d:,j-0:j)=0 jj=j; end end d(:,jj:n)=0; end inwrite(d,5.統(tǒng)一成黑底白字.jpg); figure(1),subplot(3 2 5),imshow(d),title(5.背景顏色統(tǒng)一/統(tǒng)一成黑底白字) figure(2),subplot(5 1 1),imshow(d),title(5.黑底白字的二值車牌圖像) % 去除上下邊框 % STEP1 黑白跳變小于閾值則被視為背景 % 上面2/5 y1=10; % y1:跳變閾值 for i=1:round(m/5*2) count=0;jump=0;tem

8、p=0; for j=1:n if d(i,j)=1 temp=1; else temp=0; end if temp=jump count=count; else count=count+1; end jump=temp; end end % 下面2/5 for i=3*round(m/5):m count=0;jump=0;temp=0; for j=1:n if d(i,j)=1 temp=1; else temp=0; end if temp=jump count=count; else count=count+1; end if count=y d(i,k1:k2)=0; end e

9、nd end imwrite(d,7連續(xù)白線長度大于某閾值則該白線被認(rèn)為是背景.jpg); figure(2),subplot(5 1 3),imshow(d),title(7.連續(xù)白線長度大于某閾值則該白線被認(rèn)為是背景) % STEP3 單行白色大于閾值則被認(rèn)為是背景,考慮FLAG得值 %上面2/5 y2=round(n/2); % y2閾值 for i=1:round(m/5*2) if flag=0 temp=sum(d(i,:); y2=round(n/2); if tempy2 d(i,:)=0 end else temp=m-sum(d(i,:); y2=m-round(n/2);

10、 if tempy2 d(i,:)=0; end else temp=m-sum(d(i,:);y2=m-round(n/2); if temp=0.365 d=erode(d,se); else if bwarea(d)/m/n=0.235 d=dilate(d,se); end imwrite(d,13.脹或腐蝕處理后.jpg); figure(3),subplot(3 2 5),imshow(d),title(13.脹或腐蝕處理后) % 尋找連續(xù)有文字的快,若長度大于某閾值,則認(rèn)為該塊由兩個(gè)字符組成,需要分割 d=qiege(d); m,n=size(d); figure,subplot

11、(2 1 1),imshow(d),title(n) k1=1;k2=1;s=sum(d);j=1; while j=n while s(j)=0 j=j+1; end k1=j; while s(j)=0&j=round(n/6.5) val,num=min(sum(d(:,k1+5,k2-5); d(:,k1+num+5)=0; % 分割 end end % 再分割 d=qiege(d); % 切割出7個(gè)字符 % 割出第一個(gè)自負(fù),注意左側(cè)干擾 y1=10;y2=0.25;flag=0;word1=; while flag=0 m,n=size(d); left=1;wide=0; whil

12、e sum(d(:,wide+1)=0 wide=wide+1; end if widey2 flag=1;word1=temp; % WORD1 end d(;,1:wide)=0;d=qiege(d); end end % 分割出第二個(gè)字符 word2,d=getword(d); % 分割出第三個(gè)字符 word3,d=getword(d); % 分割出第四個(gè)字符 word4,d=getword(d); % 分割出第五個(gè)字符 word5,d=getword(d); % 分割出第六個(gè)字符 word6,d=getword(d); % 分割出第七個(gè)字符 word7,d=getword(d); subplot(5,7,1),imshow(word1),title(1); subplot(5,7,2),imshow(word2),title(2); s

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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)論