其实车牌识别matlab的问题并不复杂,但是又很多的朋友都不太了解你好请问你有matlab车牌识别的字符模板吗,因此呢,今天小编就来为大家分享车牌识别matlab的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
一、你好请问你有matlab车牌识别的字符模板吗
1、篇一:车牌识别的matlab程序(程序,讲解,模板)
2、I=imread('chepai.jpg');
3、subplot(3,2,1);imshow(I), title('原始图像');
4、subplot(3,2,2),imshow(I_gray),title('灰度图像');
5、%======================形态学预处理====================== I_edge=edge(I_gray,'sobel');
6、subplot(3,2,3),imshow(I_edge),title('边缘检测后图像'); se=[1;1;1];
7、subplot(3,2,4),imshow(I_erode),title('腐蚀后边缘图像');
8、se=strel('rectangle',[25,25]);
9、I_close=imclose(I_erode,se);%图像闭合、填充图像 subplot(3,2,5),imshow(I_close),title('填充后图像');
10、I_final=bwareaopen(I_close,2000);%去除聚团灰度值小于2000的部分 subplot(3,2,6),imshow(I_final),title('形态滤波后图像');
11、%==========================车牌分割============================= I_new=zeros(size(I_final,1),size(I_final,2)); location_of_1=[];
12、for i=1:size(I_final,1)%寻找二值图像中白的点的位置 for j=1:size(I_final,2)
13、location_of_1=[location_of_1;newlocation];end end end
14、%寻找所有白点中,x坐标与y坐标的和最大,最小的两个点的位置 temp=location_of_1(i,1)+location_of_1(i,2); if temp
15、first_point=location_of_1(a,:);%和最小的点为车牌的左上角 last_point=location_of_1(b,:);%和最大的点为车牌的右下角 x1=first_point(1)+4;%坐标值修正 x2=last_point(1)-4; y1=first_point(2)+4;
16、y2=last_point(2)-4; I_plate=I(x1:x2,y1:y2);
17、I_plate=OTSU(I_plate);%以OTSU算法对分割出的车牌进行自适应二值化处理
18、I_plate=bwareaopen(I_plate,50);
19、figure,imshow(I_plate),title('车牌提取')%画出最终车牌
20、%=========================字符分割============================ X=[];%用来存放水平分割线的横坐标 flag=0;
21、if logical(sum_y)~=flag%列和有变化时,记录下此列X=[X j];
22、char=I_plate(:,X(2*n-1):X(2*n)-1);%进行粗分割
23、for i=1:size(char,1)%这两个for循环对分割字符的上下进行裁剪if sum(char(i,:))~=0 top=i; breakend end
24、if sum(char(size(char,1)-i,:))~=0 bottom=size(char,1)-i; breakend en
好了,关于车牌识别matlab和你好请问你有matlab车牌识别的字符模板吗的问题到这里结束啦,希望可以解决您的问题哈!