数字图像处理

您所在的位置:网站首页 车牌识别软件开发包 数字图像处理

数字图像处理

2023-06-06 20:12| 来源: 网络整理| 查看: 265

本次大报告利用MATLAB函数功能,设计和实现了一个车牌识别系统。车牌识别系统的基本原理为:将手机拍摄到的包含车辆牌照的图像输入到计算机中进行预处理,再对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后将其逐个与创建的字符模板进行匹配,匹配成功后输出车牌号码的数字。车牌识别的工作流程如下图:

图1 车牌识别流程图

一、 图像预处理 预处理的具体操作是规整大小、噪声滤波、规整为统一大小便于后续处理的参数设置,提高定位精确度以及识别正确率。规整大小函数为imresize(I,[row,col]) 接着进行图像平滑滤波。RGB图像的平滑滤波,需要将R、G、B三个色道分别提取出来,分别滤波。这里采用3x3的中值滤波算子,对三个色道分别滤波,然后使用cat函数将三色道整合起来。 代码

%% 加载图片 I=imread('Lisence.jpg'); figure(1),imshow(I);title('original image');%显示车牌原图 %% RGB 转 Gray I1=rgb2gray(I); figure(2),subplot(121),imshow(I1);title('gray image'); figure(2),subplot(122),imhist(I1);title('the histogram of the picture'); %% 使用 roberts 算子进行边缘检测 I2=edge(I1,'roberts',0.18,'both');% select the threshold=0.18 figure(3),imshow(I2);title('roberts operator edge detection image'); %% 腐蚀操作 se=[1;1;1]; I3=imerode(I2,se);%对图像进行腐蚀操作,即膨胀的反操作 figure(4),imshow(I3);title('corrosion image'); %% 平滑图片 se = strel('rectangle',[25,25]); I4 = imclose(I3,se);%图形聚类、填充图形 figure(5),imshow(I4);title('smoothing image'); %% pick out the small objects I5=bwareaopen(I4,2000);%remove the part smaller than 2000 figure(6),imshow(I5);title('remove the small objects');

图2 载入图片

在这里插入图片描述

在这里插入图片描述

二、 车牌定位 车牌定位依据的是车牌蓝色底色的特点,即颜色区分法,因此,确定车牌底色的蓝色RGB值范围非常重要。先打开一幅车牌图片,查看下车牌底色的RGB值。车牌底色为蓝色,因此B值较高,R和G值较小,初步考虑车牌底色RGB范围应是:R=5&&(PY1>1)) PY1 = PY1-1; end PY2 = MaxY; while(Blue_y(PY2,1)>=5&&(PY220; if I==1 % 第一个汉字识别 kmin=37; kmax=43; elseif I==2 %第二位A~Z字母识别 kmin=11; kmax=36; else l>=3 % 第三位以后是字母或数字识别 kmin=1; kmax=36; end for k2=kmin:kmax fname=strcat('字符模板\', liccode(k2), '.jpg'); SamBw2=imread(fname); SamBw2=double(SamBw2)>1; for i=1:40 for j=1:20 SubBw2(i,jP)=SegBw2(i,j)-SamBw2(i,j); end end % 以上相当于两幅图相减得到第三幅图 Dmax=0; for k1=1:40 for l1=1:20 if(SubBw2(k1,l1)>0 | SubBw2(k1,l1)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3