基于MATLAB的汽车牌照识别课件_第1页
基于MATLAB的汽车牌照识别课件_第2页
基于MATLAB的汽车牌照识别课件_第3页
基于MATLAB的汽车牌照识别课件_第4页
基于MATLAB的汽车牌照识别课件_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于MATLAB的车牌识别李家煜2019年6月15日河南科技大学生医161基于MATLAB的车牌识别李家煜2019年6月15日河南科技1目录CONTENTS数据载入及预处理车牌定位字符提取01020304存在的不足目录数据载入及预处理车牌定位字符提取01020304存在的不201数据载入及预处理01数据载入及预处理3one数据载入及预处理1.图像数据载入使用uigetfile函数从计算机中读取含有要识别的图像uigetfile函数的调用格式为:[filename,filepath]=uigetfile(…),执行此函数可得到供用户选择图片文件的对话框,用户选择要识别的图片并点击“打开”按钮后,会返回此图片的文件名和路径名,分别保存到filename和pathname两个变量中Imread函数将图像读出one数据载入及预处理1.图像数据载入使用uigetfile42.图像转换使用rgb2gray函数将彩色图转换为灰度图以进一步处理图片,可使用imhist函数画出该灰度图的灰度值分布直方图one数据载入及预处理2.图像转换使用rgb2gray函数将彩色图转换为灰度图以进502车牌定位02车牌定位6two车牌定位边缘检测腐蚀处理平滑处理及移除小目标定位裁剪two车牌定位边缘检测腐蚀处理平滑处理及移除小目标定位裁剪7车牌定位two1.边缘检测在将彩色图转换为灰度图后,用edge函数识别该图像的边界,edge函数通过使用一阶导数和二阶导数检测亮度的不连续来确定图像的边界,它可以使用Sobel,Prewitt,Roberts,Canny,LoG,零交叉等多种算子,在此使用最强大的Canny算子进行边缘检测。车牌定位two1.边缘检测在将彩色图转换为灰度图后,用edg8车牌定位twoI2=edge(I1,‘canny’,0.08,‘both’);subplot(2,2,4),imshow(I2);title('canny算子边缘检测')代码:车牌定位twoI2=edge(I1,‘canny’,0.089车牌定位two2.腐蚀处理由于边缘检测后的图像中无关结构太多,需对图像进行腐蚀处理,实现腐蚀处理的函数为imerode。代码:se=[1;1;1];%线型结构元素I3=imerode(I2,se);车牌定位two2.腐蚀处理由于边缘检测后的图像中无关结构太多10车牌定位two3.平滑及移除小对象腐蚀后的图像结构大多呈分散状分布,不连贯。为了方便之后确认车牌位置,需对该图像进行平滑处理,使用闭运算使车牌平滑,并减小噪音。代码:I4=imclose(I3,se);%闭运算车牌定位two3.平滑及移除小对象腐蚀后的图像结构大多呈分散11车牌定位two3.平滑及移除小对象为了使车牌位置的确定更精确,使用bwareaopen函数从图象中移除小对象,。代码:BW2=bwareaopen(BW,P,conn)车牌定位two3.平滑及移除小对象为了使车牌位置的确定更精确12车牌定位two车牌定位two13车牌定位two4.定位裁剪在经过上面的处理,最初的彩色图像已经变成以车牌为主要结构的二值图像,对这种主体结构清晰的二值图像进行扫描,进而确定出车牌的位置。通过定位,得到了车牌的上边界PY1,下边界PY2,左边界PX1,右边界PX2,将这四个边界值从原彩色图像中切割出车牌:

dw=I(PY1:PY2,PX1:PX2,:);车牌定位two4.定位裁剪在经过上面的处理,最初的彩色图像已14车牌定位two4.定位裁剪[y,x]=size(I5);%【行列默认1】myI=double(I5);white_y=zeros(y,1);fori=1:yforj=1:xif(myI(i,j,1)==1)

white_y(i,1)=white_y(i,1)+1;%蓝色像素点统计

endendend[tempMaxY]=max(white_y);%temp为向量white_y的元素中的最大值,MaxY为该值的索引(在向量中的位置)PY1=MaxY;while((white_y(PY1,1)>=120)&&(PY1>1))PY1=PY1-1;%找车牌最上端endPY2=MaxY;while((white_y(PY2,1)>=40)&&(PY2<y))PY2=PY2+1;%找车牌最下端end车牌定位two4.定位裁剪[y,x]=size(I5);%【1503字符提取03字符提取16three字符提取车牌图像二值化滤波膨胀或腐蚀处理g_max=double(max(max(b)));g_min=double(min(min(b)));T=round(g_max-(g_max-g_min)/3);[m,n]=size(b);d=(double(b)>=T);通过fspecial函数构造均值滤波器,然后使用filter2函数进行滤波,以减小图中噪音。由于不同原始图像的差异,处理到这里后,字符可能会不连续,也可能会连在一起,这时我们需要再次对滤波后的图像进行腐蚀或者膨胀处理three字符提取车牌图像二值化滤波膨胀或腐蚀处理g_max17three字符提取分离字符定义了一个用于分离字符的函数getword,思路如下:对图像从左到右逐列扫描,并将每列中像素点的值进行求和,若和不为零(即这一列是组成某字符的一列),则向右继续扫描下一列,直到某一列求和后值为零(即这一列是两白色字符之间的黑色间隔),图像最左侧到这一列之间即为第一个字符,将其切出,然后将该区域内所有像素点赋值为0(涂黑),重复以上操作直至分离出所有字符。three字符提取分离字符定义了一个用于分离字符的函数get1804存在的不足

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论