基于opencv 的车牌识别系统研究

基于opencv 的车牌识别系统研究

ID:27373141

大小:454.50 KB

页数:5页

时间:2018-12-02

基于opencv 的车牌识别系统研究_第1页
基于opencv 的车牌识别系统研究_第2页
基于opencv 的车牌识别系统研究_第3页
基于opencv 的车牌识别系统研究_第4页
基于opencv 的车牌识别系统研究_第5页
资源描述:

《基于opencv 的车牌识别系统研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于OpenCV的车牌识别系统研究张海宁,李彬,陈超波,冯晓岗(西安工业大学电子信息工程学院,西安710032)摘要:提出了一种利用OpenCV函数库来进行图像处理,并进行车牌定位,字符分割,字符识别的方法,定位时采用行列扫描的方法确定车牌上下和左右边界,然后对存在车牌倾斜的情况进行了校正,字符分割采用了垂直投影的方法,字符识别是采用模板匹配法,得到了很好的效果。关键字:车牌定位;字符分割;字符识别牌照识别系统,简称LPR(LicensePlateRecognition),作为智能交通系统的基础和核心技术之一,在交通管理自动化和智能化中占据重要地位。LPR系

2、统是以机动车牌照为研究目标的计算机视觉系统。车牌识别系统是智能交通系统中一个非常重要的方向,主要由图像采集、车牌定位、字符分割以及字符识别四部分组成,己经越来越受到人们的重视。它具有良好的实际应用价值,目前主要应用于公路治安卡口、开放式收费站、车载移动查车、违章记录系统、门禁管理、停车场管理等场合,它通过对输入的机动车图像进行处理,自动定位提取车牌图像,并分割车牌的字符图像,然后对车牌字符进行识别,输出机动车的车牌号码。利用VC++,在OpenCV计算机视觉库的基础上,对车辆进行图像获取,图像处理,最终得到车牌号码,主要包括以下几个步骤,如图1所示:图1主要

3、步骤1图像获取利用OpenCV库函数可以对摄像机进行操作的特性,首先定义CvCapture结构变量并初始化capture=0,CvCapture结构包含从摄像机或视频文件读取帧所需的信息,然后使用OpenCV库函数cvCreateCameraCapture()从摄像机得到视频信息,即:capture=cvCreateCameraCapture(-1)。获取视频信息后还要获得图像,首先要定义IplImage结构变量并进行初始化frame=0,获取图像利用OpenCV的库函数cvQueryFrame(),即:frame=cvQueryFrame(capture)

4、[1]。2图像预处理利用OpenCV库函数获取到的图像是彩色图像,即每个像素点由红色(R),绿色(G)和蓝色(B)3个分量组成,如果直接用彩色图像计算量会很大,很难达到实时、快速识别的目的。在实际应用中,我们可以采用如下公式将彩色图像转换为灰度图像:Y=0.299*R+0.587*G+0.114*B其中,Y代表转换后灰度图像的像素值,R、G、B分别代表彩色图像中红、绿、蓝三原色的分量[3]。利用cvCvtColor(src,pImgCanny,CV_RGB2GRAY);对图像进行灰度化处理。如图2所示:图2灰度图像下一步对灰度化图像进行二值化处理。二值化就是

5、选择一个阈值T,如果图像中的某个灰度值大于T,就将这个像素的灰度值设为255,否则设为0.公式如下:选择阈值T时,本文采用自适应阈值法,利用cvAdaptiveThreshold()函数得到[1]。并采用Canny算子边缘检测二值化,二值化后的图像如图3所示。图3二值化图像3车牌定位预处理完的车牌图像就可以进行车牌定位了,由于车牌自身的特殊性,可以根据车牌的自身特点进行定位。3.1车牌的特点(1)车牌一般位于车身底部,其下方没有明显的边缘密集区域。(2)车牌字符大小、个数一定,并且字符间隔距离一定。(3)拍摄角度不同,可能会造成车牌图像有一定的倾斜度。(4)

6、车牌区域的像素点明显多于其他部分。因此,可以对二值化后的图像进行行扫描和列扫描,从而得到车牌区域。3.2车牌行扫描(1)由于车牌字符大小、个数一定而且字符间隔距离一定,故车牌区域中每行灰度级为255的像素的个数介于一定范围内。设车牌区域中每行灰度级为255的像素个数最大最小值分别为num1、num2。若某行中灰度级为255的像素个数介于[num1,num2],则可以将此行的行号存入车牌候选区域数组。(2)对(1)中得到的车牌候选区域相邻两行号做差,若差值小于某个值M,说明此行在车牌区域内。(3)若(2)中得到的行数大于车牌最小行数min,则说明得到了车牌区域

7、,记录此时的上下边界。3.3车牌列扫面由于车牌区域的像素点应该为最多的,那么利用这个特点就可以从行扫描得到的图像中得到车牌具体位置。利用前面得到的车牌高度,因为车牌高度和宽度的比例是一定的,那么就可以定义一个宽度,从左到右一次扫描,得到这个区域内的所有像素点,保留最大的那个,就是车牌区域,记录此时的左右边界,从而得到车牌具体区域。利用OpenCV函数cvSetImageROI设置敏感区域,cvCopy从原图像中拷贝车牌区域,然后再利用cvResetImageROI重新设置敏感区域,就得到了车牌的初步区域,如图4所示。图4车牌定位初步图像3.4车牌矫正由于拍摄

8、角度的问题,造成拍摄到的车牌有一定的倾斜角度,而且初

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。