資源簡介
基于matlab的車牌號識別系統,程序保證可運行,詳細的注釋,包含標準字符模板庫。

代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%車牌識別(批量處理)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%時間:2018.7.7
%地點:中北大學
%適用于簡單課程設計,指標要求不高的任務等
%說明:這是本科的課程設計,所以所編寫的代碼并不強大,不是所有圖片都能處理,并且因為
%??????字符識別模塊是基于像素匹配法實現的所以有部分車牌能識別但是可能個別字符有錯。另外文件夾
%??????自配了16張照片是可識別的,車牌正確定位率是100%,車牌字符識別正確率是90%以上(好像是93%)
%??????處理速度根據各自電腦,MacPro的是15張照片20s左右。代碼中的細節我會寫備注。
%最后特別說明:
%??????由于自己水平有限,代碼中還有很多不足,敬請讀者修改并給予指教!--cs菜渣
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%hai‘shi
%?function?[]=main(jpg)
clc;clear?all;tic
for?num=1:15?%大循環,處理15張照片
????s=strcat(‘D:\photo\c‘int2str(num));%根據自己存儲的文件夾改路徑
????I=imread([s‘.jpg‘]);
????figureimshow(I);title(‘原始圖像‘);?%顯示原圖?
????%圖像預處理
????Im1=rgb2gray(I);
????%figure(2)???????????????????????????????????%由于處理過程中有很多中間圖片,這里注釋掉,在批處理過程中可提高速度
????%subplot(121);imshow(Im1);title(‘灰度圖‘);
????%subplot(122);imshow(Im1);title(‘灰度圖的直方圖‘);
????Tiao=imadjust(Im1[0.190.78][01]);?%調整圖片
????%figure(3)
????%subplot(121)imshow(Tiao);title(‘增強灰度圖‘);
????%subplot(122)imshow(Tiao);title(‘增強灰度圖的直方圖‘);
????%?邊緣檢測
????Im2=edge(Im1‘sobel‘0.15‘both‘);
????%figure(4)imshow(Im2);title(‘soble算子實現邊緣實現‘);
????%?灰度圖腐蝕(消除邊界點-小而無意義的)
????se=[1;1;1];?%結構元素?‘刷子’
????Im3=imerode(Im2se);?%圖像腐蝕
????%figure(5)imshow(Im3);title(‘腐蝕效果圖‘);
????se=strel(‘rectangle‘[2525]);?%創建由指定形狀的結構元素
????%?圖像平滑處理
????Im4=imclose(Im3se);?%對圖像實現閉運算,閉運算能夠平滑圖像輪廓
????%imshow(Im4);title(‘平滑圖像的輪廓‘);
????Im5=bwareaopen(Im42000);?%移除小對象--多個閉運算,刪除小面積圖形,2000是設定的閾值
????%figure(7)imshow(Im5);title(‘移除小對象‘);
????%%?牌照區域分割
????[yxz]=size(Im5);
????Im6=double(Im5);
????Blue_y=zeros(y1);?%創建元素為0的數組或矩陣y*1
????for?i=1:y
?????????for?j=1:x
??????????????if(Im6(ij1)==1)
??????????????????Blue_y(i1)=Blue_y(i1)+1;?%根據Im5的y值決定
??????????????end
?????????end
????end
????[temp?MaxY]=max(Blue_y);?%垂直方向車牌區域確定
????PY1=MaxY;
????while((Blue_y(PY11)>=5)&&(PY1>1))
??????????PY1=PY1-1;
????end
????PY2=MaxY;
????while((Blue_y(PY21)>=5)&&(PY2 ???????????PY2=PY2+1;
????end
????IY=I(PY1:PY2::);
????Blue_x=zeros(1x);
????for?j=1:x
????????for?i=PY1:PY2
?????????????if(Im6(ij1)==1)
?????????????????Blue_x(1j)=Blue_x(1j)+1;?%根據Im5的x值決定
?????????????end
????????end
????end
????PX1=1;
????while((Blue_x(1PX1)<3)&&(PX1 ???????????PX1=PX1+1;
????end
????PX2=x;
????while((Blue_x(1PX2)<3)&&(PX2>PX1))
??????????PX2=PX2-1;
????end
????PX1=PX1-1;???%對車牌區域的校正
????PX2=PX2+1;
????dw=I(PY1:PY2-6PX1:PX2:);
????%figure(8)
????%subplot(121)imshow(IY)title(‘垂直方向合理區域‘);
????%subplot(122)imshow(dw)title(‘定位剪切后的彩色車牌圖像‘);
%--------------------------車牌圖像處理--------------------------%
????imwrite(dw‘C:\Users\lambor\Desktop\課設matlab\課程設計\dw.jpg‘);?%把定位剪切后的彩色車牌圖像寫入圖形文件中
????a=imread(‘C:\Users\lambor\Desktop\課設matlab\課程設計\dw.jpg‘);%根據自己的路徑修改
????b=rgb2gray(a);?????????
????imwrite(b‘C:\Users\lambor\Desktop\課設matlab\課程設計\車牌灰度圖像.jpg‘);
????%figure(9)subplot(321)imshow(b);title(‘1.車牌灰度圖像‘)
????g_max=double(max(max(b)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7162??2018-07-07?12:22??基于機器視覺的車牌識別系統\chepaihaoshibie(單張處理).txt
?????文件???????8064??2018-07-07?12:16??基于機器視覺的車牌識別系統\chepaihaoshibie(批量處理).txt
?????文件????????561??2018-07-07?12:08??基于機器視覺的車牌識別系統\使用注意事項.txt
?????文件???????1592??2008-10-17?18:58??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\1.bmp
?????文件???????1592??2008-10-17?19:03??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\10.bmp
?????文件???????1592??2008-10-17?19:03??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\11.bmp
?????文件???????1592??2008-11-04?23:19??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\12.bmp
?????文件???????1592??2008-11-04?23:22??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\13.bmp
?????文件???????1592??2008-10-17?19:04??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\14.bmp
?????文件???????1592??2008-10-17?19:05??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\15.bmp
?????文件???????1592??2008-10-18?18:19??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\16.bmp
?????文件???????1592??2008-10-17?19:06??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\17.bmp
?????文件???????1592??2008-10-17?19:06??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\18.bmp
?????文件???????1592??2008-10-17?19:07??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\19.bmp
?????文件???????1592??2008-10-17?18:59??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\2.bmp
?????文件???????1592??2008-10-17?19:07??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\20.bmp
?????文件???????1592??2008-10-17?19:07??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\21.bmp
?????文件???????1592??2008-10-17?21:05??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\22.bmp
?????文件???????1592??2008-10-17?19:09??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\23.bmp
?????文件???????1592??2008-10-17?19:08??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\24.bmp
?????文件???????1592??2008-10-17?19:09??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\25.bmp
?????文件???????1592??2008-10-17?18:56??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\26.bmp
?????文件???????1590??2008-10-21?20:21??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\27.bmp
?????文件???????1592??2008-10-17?18:55??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\28.bmp
?????文件???????1592??2008-10-17?18:55??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\29.bmp
?????文件???????1592??2008-10-17?19:00??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\3.bmp
?????文件???????1592??2008-10-17?18:55??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\30.bmp
?????文件???????1592??2008-10-17?18:54??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\31.bmp
?????文件???????1592??2008-10-17?18:53??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\32.bmp
?????文件???????1592??2008-10-17?18:53??基于機器視覺的車牌識別系統\字符模板集\sample\cha&num\33.bmp
............此處省略274個文件信息
評論
共有 條評論