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

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MACROBUTTON MTEditEquationSection2 SEQ MTEqn \r \h \* MERGEFORMAT SEQ MTSec \r 1 \h \* MERGEFORMAT SEQ MTChap \r 1 \h \* MERGEFORMAT 基于OpenCV的车牌识别系统研究 张海宁,李彬,陈超波,冯晓岗 (西安工业大学 电子信息工程学院,西安 710032) 摘 要:提出了一种利用OpenCV函数库来进行图像处理,并进行车牌定位,字符分割,字符识别的方法,定位时采用行列扫描的方法确定车牌上下和左右边界,然后对存在车牌倾斜的情况进行了校正,字符分割采用了垂直投影的方法,字符识别是采用模板匹配法,得到了很好的效果。 关键字:车牌定位;字符分割;字符识别 牌照识别系统,简称LPR(License Plate Recognition),作为智能交通系统的基础和核心技术之一,在交通管理自动化和智能化中占据重要地位。LPR系统是以机动车牌照为研究目标的计算机视觉系统。车牌识别系统是智能交通系统中一个非常重要的方向,主要由图像采集、车牌定位、字符分割以及字符识别四部分组成,己经越来越受到人们的重视。它具有良好的实际应用价值,目前主要应用于公路治安卡口、开放式收费站、车载移动查车、违章记录系统、门禁管理、停车场管理等场合,它通过对输入的机动车图像进行处理,自动定位提取车牌图像,并分割车牌的字符图像,然后对车牌字符进行识别,输出机动车的车牌号码。 利用VC++ ,在OpenCV计算机视觉库的基础上,对车辆进行图像获取,图像处理,最终得到车牌号码,主要包括以下几个步骤,如图1所示: 图1 主要步骤 1 图像获取 利用OpenCV库函数可以对摄像机进行操作的特性,首先定义CvCapture结构变量并初始化capture = 0, CvCapture结构包含从摄像机或视频文件读取帧所需的信息,然后使用OpenCV库函数cvCreateCameraCapture()从摄像机得到视频信息,即:capture = cvCreateCameraCapture(-1)。获取视频信息后还要获得图像,首先要定义IplImage结构变量并进行初始化frame=0,获取图像利用OpenCV的库函数cvQueryFrame(),即:frame=cvQueryFrame( capture )[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 灰度图像 下一步对灰度化图像进行二值化处理。二值化就是选择一个阈值T,如果图像中的某个灰度值大于T,就将这个像素的灰度值设为255,否则设为0.公式如下: 选择阈值T时,本文采用自适应阈值法,利用cvAdaptiveThreshold()函数得到[1]。并采用Canny算子边缘检测二值化,二值化后的图像如图3所示。 图3 二值化图像 3 车牌定位 预处理完的车牌图像就可以进行车牌定位了,由于车牌自身的特殊性,可以根据车牌的自身特点进行定位。 3.1 车牌的特点 (1)车牌一般位于车身底部, 其下方没有明显的边缘密集区域。 (2)车牌字符大小、 个数一定,并且字符间隔距离一定。 (3)拍摄角度不同,可能会造成车牌图像有一定的倾斜度。 (4)车牌区域的像素点明显多于其他部分。 因此,可以对二值化后的图像进行行扫描和列扫描,从而得到车牌区域。 3.2 车牌行扫描 (1)由于车牌字符大小、个数一定而且字符间隔距离一定,故车牌区域中每行灰度级为 255 的像素的个数介于一定范围内。设车牌区域中每行灰度级为 255的像素个数最大最小值分别为num1、num2。若某行中灰度级为 255 的像素个数介于[ num1,num2] , 则可以将此行的行号存入车牌候选区域数组。 (2)对(1)中得到的车牌候选区域相邻两行号做差,若差值小于某个值M,说明此行在车牌区域内。 (3)若(2)中得到的行数大于车牌最小行数min,则说明得到了车牌区域,记录此时的上下边界。 3.3 车牌列扫面 由于车牌区域的像素点应该为最多的,那么利用这个特点就可以从行扫描得到的图像中得到车牌具体位置。利用前面得到的车牌高度,因为车牌高度和宽度的比

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档