基于边缘检测的车牌初步定位系统.docx
- 文档编号:8178286
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:11
- 大小:1.22MB
基于边缘检测的车牌初步定位系统.docx
《基于边缘检测的车牌初步定位系统.docx》由会员分享,可在线阅读,更多相关《基于边缘检测的车牌初步定位系统.docx(11页珍藏版)》请在冰豆网上搜索。
基于边缘检测的车牌初步定位系统
基于边缘检测的车牌初步定位系统
开发背景:
汽车牌照相当于汽车的身份证,是在公共场合确定汽车身份的直接凭证。
我国交通管理部门对汽车牌照的样式制定了严格的规范:
1、颜色特征:
我国车牌颜色共分为四种,分别是蓝底白字、黑底白字、黄底黑字、白底黑字,其中常规车辆使用的是蓝底白字。
2、结构特征:
车牌宽度为440mm,高度为140mm,宽高比为3.14,车牌中字符宽度为45mm,高度为90mm,宽高比为0.5。
车牌安装于汽车下部。
针对交通违法检测系统中数码相机拍摄到的图片,需要进行车牌识别。
其中,车牌定位是关键的一步。
以上的车牌特征为车牌的定位提供了重要的依据。
需求分析:
车牌自动识别在交通管理中的作用越来越大,我们开发了“基于边缘检测的车牌初步定位系统”,本系统只针对“蓝底白字”车牌进行初步定位,对其他车牌只需通过修改识别算法中的颜色定义即可完成。
根据实际需要,本系统应具有如下功能:
1、能够正确的打开和保存位图;
2、将彩色图像转换为灰度图像;
3、能够利用Sobel和Prewitt算子对图像进行边缘检测;
4、能够将彩色图像或灰色图像二值化;
5、能够利用有色点对搜索实现“蓝色白字”车牌初步定位;
概要设计:
系统功能结构图如下:
系统业务流程图:
详细设计:
图像灰度化模块:
灰度化定义:
在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。
灰度化目的:
现在大部分的彩色图像都是采用RGB颜色模式,处理图像的时候,要分别对RGB三种分量进行处理,实际上RGB并不能反映图像的形态特征,只是从光学的原理上进行颜色的调配。
所以我们经常要把图像亮度量化等分成0-255共256个级别,即对8位的灰度值图像进行处理。
灰度化方法:
加权平均法
根据重要性及其它指标,将三个分量以不同的权值进行加权平均。
由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,按下式对RGB三分量进行加权平均能得到较合理的灰度图像。
f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))
灰度化效果一览:
原位图:
灰度化后:
图像边缘检测模块:
边缘检测定义:
所谓边缘是指其周围像素灰度有阶跃变化的那些像素的集合。
边缘广泛存在于物体与背景之间、物体与物体之间,因此,边缘检测是图像分割所依赖的重要特征。
边缘检测目的:
边缘检测是图像特征提取的重要技术之一,边缘常常意味着一个区域的终结和另一个区域的开始.图像的边缘包含了物体形状的重要信息,它不仅在分析图像时大幅度地减少了要处理的信息量,而且还保护了目标的边界结构.因此,边缘检测可以看做是处理许多复杂问题的关键.
在本项目中,根据车牌的有色点对都集中在颜色变化剧烈的位置(字符边缘)的特点,对车牌图像进行边缘提取处理,可以缩小车牌有色点对的搜索范围,提高运算精度和效率。
边缘检测的实现:
边缘检测的实质是采用某种算法来提取出图像中对对象与背景间的交界线。
图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此可以用局部图像微分技术来获取边缘检测算子。
由于微分算子具有突出灰度变化的作用,对图像进行微分运算,在图像边缘处其灰度变化较大,故该处微分计算值教高,可将这些微分值作为相应点的边缘强度,通过阈值判别来提取边缘点,即如果微分值大于阈值,则为边缘点。
Sobel,Prewwit是基于一阶导数的边缘检测算子,图像的边缘检测是通过3*3模板作为核与该图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。
Sobel算子和Prewitt算子都是一阶的微分算子,都是先对图像进行平滑处理,虽然两者都是加权平均滤波,但是前者邻域的像素对当前像素产生的影响不是等价的,距离不同的像素具有不同的权值,对算子结果产生的影响也不同。
Sobel算子:
Sobel算子是一种梯度幅值,
其中的偏导数用下式计算:
其中常数c=2。
和
可用卷积模板来实现:
请注意这一算子把重点放在接近于模板中心的像素点。
Sobel算子是边缘检测器中最常用的算子之一。
Sobel算子边缘检测效果一览:
检测前(灰度图):
检测后:
Prewitt算子:
Prewitt算子也是一种梯度幅值,
其中的偏导数用下式计算:
与Sobel算子不同的是,这里的常数c=1。
和
可用卷积模板来实现:
请注意,与Sobel算子不同,这一算子没有把重点放在接近模板中心的像素点。
用于说明Sobel算子和Prewitt算子的领域像素点标记如下:
Prewitt算子边缘检测结果一览:
与前灰度图对比,下图为检测后的结果:
图像二值化模块:
二值化定义:
图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。
二值化目的:
将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。
在数字图像处理中,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。
此项目中,二值化处理将最终确定有色点对的搜索范围并方便搜索算法的实现,即只针对像素为255的点进行搜索即可。
二值化实现:
首先要对图像进行灰度化处理,然后将所有灰度大于或等于阀值(如本项目中取阀值为120)的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。
二值化结果一览:
以下二值化结果是在灰度化并且用Sobel算子边缘检测后的基础上进行的:
以下二值化结果是在灰度化并且用Prewitt算子边缘检测后的基础上进行的:
图像有色点对搜索模块:
有色点对定义:
针对蓝底白字的车牌,有色点对是指这样的两位(A,B):
A点:
其左方为蓝色点,右方为白色点;
B点:
其左方为白色点,右方为蓝色点;
A和B应该在一定的范围之内。
有色点对搜索算法流程如下:
对图像进行逐行扫描,如果在一定的范围内,灰度跳变次数大于一定的阀值,则可以标记为可疑线段。
设flag为扫描点是否进入可疑线段的标志,初始值flag=0
1、从图像的第一行开始向下逐行扫描;
2、从左到右开始扫描每个像素,判断前后两个像素的像素值;
3、如果两个像素值不同,即检测到一次跳变。
如果flag=0,则当前点为可疑线段的起始点,flag设为1;
4、如果没有跳变,并且flag=1,则判断可疑线段的长度,即当前点和最后一个检测到的跳变点之间的距离是否大于一个阀值,若大于阀值表示可疑线段结束,最后检测到的跳变点即为可疑线段的终点。
利用有色点对搜索对车牌识别结果:
当边缘检测算子为Sobel:
当边缘检测算子为Prewitt:
系统测试:
测试结果:
对于该系统,我们采用了20张图像进行测试,其中有14张图比较准确的定位到了车牌区域,准确率达到了70%。
测试结果分析:
对于没有定位到车牌的图像原因总结如下:
1、采集光线不佳,使图像采集结果较差,给车牌图像定位造成了一定的困难。
2、自然环境下的路面情况比较复杂,导致采集到的车牌图像中复杂背景对车体本身产生干扰。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 边缘 检测 车牌 初步 定位 系统