车牌识别matlab

发布时间

其实车牌识别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]);

车牌识别matlab

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车牌识别的字符模板吗的问题到这里结束啦,希望可以解决您的问题哈!

相关产品

相关文章