没有合适的资源?快使用搜索试试~ 我知道了~
数字图像处理车牌识别课程设计matlab实现附源代码.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉

数字图像处理车牌识别课程设计matlab实现附源代码.pdf数字图像处理车牌识别课程设计matlab实现附源代码.pdf数字图像处理车牌识别课程设计matlab实现附源代码.pdf数字图像处理车牌识别课程设计matlab实现附源代码.pdf数字图像处理车牌识别课程设计matlab实现附源代码.pdf数字图像处理车牌识别课程设计matlab实现附源代码.pdf数字图像处理车牌识别课程设计matlab实现附源代码.pdf数字图像处理车牌识别课程设计matlab实现附源代码.pdf数字图像处理车牌识别课程设计matlab实现附源代码.pdf
资源推荐
资源详情
资源评论














基于 matlab 的车牌识别系统
一、 目的与要求
目的:利用 matlab 实现车牌识别系统,熟悉 matlab 应用软件的基础知识,了解了基本程序
设计方法,利用其解决数字信号处理的实际应用问题,从而加深对理论知识的掌握,并把所
学的知识系统、高效的贯穿到实践中来,避免理论与实践的脱离,巩固理论课上知识的同时,
加强实践能力的提高,理论联系实践,提高自身的动手能力。同时不断的调试程序也提高了
自己独立编程水平,并在实践中不断完善理论基础,有助于自身综合能力的提高。
要求:
1.理解各种图像处理方法确切意义。
2.独立进行方案的制定,系统结构设计要合理。
3.在程序开发时,则必须清楚主要实现函数的目的和作用,需要在程序书写时说明做适当
的注释。如果使用 matlab 来进行开发,要理解每个函数的具体意义和适用范围,在写课设
报告时,必须要将主要函数的功能和参数做详细的说明。
4、通过多幅不同形式的图像来检测该系统的稳定性和正确性。
二、设计的内容
学习MATLAB程序设计,利用MATLAB函数功能,设计和实现通过设计一个车牌识别
系统。车牌识别系统的基本工作原理为:将手机拍摄到的包含车辆牌照的图像输入到计算机
中进行预处理,再对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后
对牌照字符进行二值化并将其分割为单个字符,然后将其逐个与创建的字符模板中的字符进
行匹配,匹配成功则输出,最终匹配结束则输出则为车牌号码的数字。车牌识别系统的基本
工作原理图如图1所下所示:
车辆
字符分割
图像采集
1
字符识别
图像预处理
输出车牌号码
车牌的定位

三、总体方案设计
车辆牌照识别整个系统主要是由车牌定位和字符分割识别两部分组成,其中车牌
定位又可以分为图像预处理及边缘提取模块和牌照的定位及分割模块;字符识别可以
分为字符分割和单个字符识别两个模块。
为了用于牌照的分割和牌照字符的识别,原始图象应具有适当的亮度,较大的对比
度和清晰可辩的牌照图象。但由于是采用智能手机在开放的户外环境拍照,加之车辆
牌照的整洁度、自然光照条件、拍摄时摄像机与牌照的矩离等因素的影响,牌照图象
可能出现模糊、歪斜和缺损等严重缺陷,因此需要对原始图象进行识别前的预处理。
牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处
理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个
图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照
字符识别系统的识别率。
由于拍摄时的光照条件、牌照的整洁程度的影响,和摄像机的焦距调整、镜头的
光学畸变所产生的噪声都会不同程度地造成牌照字符的边界模糊、细节不清、笔划断
开或粗细不均,加上牌照上的污斑等缺陷,致使字符提取困难,进而影响字符识别的
准确性。因此,需要将拍出的车牌进行处理,在这个过程中,我采用画图工具,将汽
车图像的车牌部分进行裁剪,并将车牌的蓝色部分过亮的地方颜色加深,还将车牌中
的一个白色的原点抹去,另外还将车牌上的铆钉使用车牌的蓝色背景覆盖,这样分割
出的字符更加准确。
车牌识别的最终目的就是对车牌上的文字进行识别。主要应用的为模板匹配方
法。
因为系统运行的过程中,主要进行的都是图像处理,在这个过程中要进行大量的
数据处理,所以处理器和内存要求比较高,CPU要求主频在600HZ及以上,内存在128MB
及以上。系统可以运行于Windows7、Windows2000或者Windows XP操作系统下,程序
调试时使用matlabR2011a。
四、各个功能模块的主要实现程序
(一)首先介绍代码中主要的函数功能及用法:
2

1.Imerode
功能:对图像实现腐蚀操作,即膨胀操作的反操作。
用法:IM2 = imerode(IM,SE)
IM2 = imerode(IM,NHOOD)
IM2 = imerode(IM,SE,PACKOPT,M)
IM2 = imerode(...,PADOPT)
IM2 = imerode(IM,SE) 腐蚀灰度,二值,压缩二值图像 IM,返回 IM2。参数 SE 为由 strel
函数返回的结构元素或者结构元素对象组。
IM2 = imerode(IM,NHOOD)腐蚀图像 IM,这里 NHOOD 是定义结构元素邻域 0 和 1 的矩阵。
IM2 = imerode(...,PADOPT)指出输出图像的大小(是否与输入图像大小一致)。
2.imdilate
功能:对图像实现膨胀操作。
用法:IM2 = imdilate(IM,SE)
IM2 = imdilate(IM,NHOOD)
IM2 = imdilate(IM,SE,PACKOPT)
IM2 = imdilate(...,PADOPT)
IM2 = imdilate(IM,SE) 膨胀灰度,二值,压缩二值图像IM,返回 IM2。参数 SE 为由 strel
函数返回的结构元素或者结构元素对象组。
IM2 = imdilate(IM,NHOOD)膨胀图像 IM,这里 NHOOD 是定义结构元素邻域 0 和 1 的矩阵。
IM2 = imdilate(IM,SE,PACKOPT)定义 IM 是否是一个压缩的二值图像。
IM2 = imdilate(...,PADOPT)指出输出图像的大小。
3.strel
功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行
讲解)。
用法:SE = strel(shape,parameters)
创建由指定形状 shape 对应的结构元素。其中 shape 的种类有
‘arbitrary','pair','diamond','periodicline','disk','rectangle'
'line','square','octagon
3

参数 parameters 一般控制 SE 的大小。
4.edge
BW = edge(I)
采用灰度或一个二值化图像 I 作为它的输入,并返回一个与 I 相同大小的二值化图像 BW,
在函数检测到边缘的地方为 1,其他地方为 0。
BW = edge(I,'sobel') 自动选择阈值用 Sobel 算子进行边缘检测。
BW = edge(I,'sobel',thresh) 根据所指定的敏感度阈值 thresh,用 Sobel 算子进行边缘
检测,它忽略了所有小于阈值的边缘。当 thresh 为空时,自动选择阈值。
BW = edge(I,'sobel',thresh,direction) 根据所指定的敏感度阈值 thresh,在所指定的
方 向 direction 上 , 用 Sobel 算 子 进 行 边 缘 检 测 。 Direction 可 取 的 字 符 串 值 为
horizontal(水平方向)、vertical(垂直方向)或 both(两个方向)。
[BW,thresh] = edge(I,'sobel',...) 返回阈值
BW = edge(I,'prewitt') 自动选择阈值用 prewitt 算子进行边缘检测。
BW = edge(I,'prewitt',thresh) 根据所指定的敏感度阈值 thresh,用 prewitt 算子进行
边缘检测,它忽略了所有小于阈值的边缘。当 thresh 为空时,自动选择阈值。
BW = edge(I,'prewitt',thresh,direction) 根据所指定的敏感度阈值 thresh,在所指定
的方向 direction 上,用 prewitt 算子进行边缘检测。 Direction 可取的字符串值为
horizontal(水平方向)、vertical(垂直方向)或 both(两个方向)默认方向为 both。
BW = edge(I,'roberts') 自动选择阈值用 roberts 算子进行边缘检测。
BW = edge(I,'roberts',thresh) 根据所指定的敏感度阈值 thresh,用 Roberts 算子进行
边缘检测,它忽略了所有小于阈值的边缘。当 thresh 为空时,自动选择阈值。
5.Imclose
功能:对图像实现闭运算,闭运算也能平滑图像的轮廓,但与开运算相反,它一般融合窄的
缺口和细长的弯口,去掉小洞,填补轮廓上的缝隙。
用法:IM2 = imclose(IM,SE)
IM2 = imclose(IM,NHOOD)
用法和 imopen 相同。
6.imopen
4

功能:对图像实现开运算,开运算一般能平滑图像的轮廓,消弱狭窄的部分,去掉细的突出。
用法:IM2 = imopen(IM,SE)
IM2 = imopen(IM,NHOOD)
IM2 = imopen(IM,SE)用 结构元素 SE 实现灰度图像或二值图像的 IM 的形态开运算。SE 可
以是单个结构元素对象或者结构元素对象数组。
IM2 = imopen(IM,NHOOD)用结构元素 strel(NHOOD)执行开运算。
7.bwareaopen
功能:删除小面积对象
格式:
BW2 = bwareaopen(BW,P,conn)
作用:
删除二值图像 BW 中面积小于 P 的对象,默认情况下 conn 使用 8 邻域。
8.tic 和 toc 函数
这两个函数一般配合使用,tic 表示计时的开始,toc 表示计时的结束。
格式如:
tic
任意表达式
toc
t=toc
9.fspecial
功能:用于建立预定义的滤波算子,其语法格式为:
h = fspecial(type)
h = fspecial(type,para)
其中 type 指定算子的类型,para 指定相应的参数;
type 的类型有:
1、'average'
5
剩余25页未读,继续阅读
资源评论

- Yusuki~2022-12-20非常有用的资源,有一定的参考价值,受益匪浅,值得下载。
- qq_508365042022-12-05资源简直太好了,完美解决了当下遇到的难题,这样的资源很难不支持~
- Nightraii62022-10-21终于找到了超赞的宝藏资源,果断冲冲冲,支持!
G11176593
- 粉丝: 3659
- 资源: 2万+

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
