机器视觉的车牌识别【字数:12002】

汽车车牌识别技术在很多方面上都有较好的应用,可用于高速公路收费和停车场收费等。因为拍摄天气、光源、环境、角度等多种因素,在这样的环境,要识别出车牌的难度就比晴天下正面拍摄的车牌难识别很多。这些情况下的主要难点是难以确定阈值,这样便不能准确定位车牌,也就没办法直接分割字符,读取车牌了。针对这些情况,本人采取的方法是首先试验多张车牌,将所有情况的车牌的阈值都选出来,从而选择一个包含所有车牌的阈值。紧接着将RGB转为HSV,然后在HSV通道上分别求出车牌在S和V通道上的面积,求出交集,从而将车牌精准定位。如果车牌有倾斜,那么还需要对车牌进行矫正。首先计算车牌的角度,然后得出车牌需要矫正的角度,这样便能够得到固定位置的车牌区域。接下来就是分割字符,然后训练OCR识别出车牌。为了操作简单点,同时也需要能够简化界面,本人选择了Halcon与C#联合编程,做了一个简单的操作界面,可以通过界面直接读取、识别车牌。
目 录
1.绪论 1
1.1课题研究的目的和意义 1
1.2国内外研究现状 2
1.3课题的难点及关键技术 2
2.系统总体设计 3
2.1方案对比及选取 3
2.2车牌识别系统实现 4
3.图像采集系统设计 5
3.1镜头选型 5
3.2相机选型 7
3.3照明系统 8
3.3.1光源类型 8
3.3.2照明的方向性 9
3.3.3光源的选择 9
3.4图像样本 9
4.软件设计 10
4.1基于Halcon的Blob分析算法 10
4.2 车牌识别流程图 11
4.3图像读取 12
4.4图像预处理 12
4.5图像分割 13
4.6训练ocr 14
4.7创建和训练分类器 15
4.8字符识别及显示 15
5.车牌识别的结果与分析 17
5.1车牌识别的实验过程 17
5.2界面显示 29
5.3实验结果和分析 31
6、总结与展望 33
 *好棒文|www.hbsrm.com +Q: *351916072* 
6.1总结 33
6.2展望 33
参考文献 35
致谢 36
1.绪论
1.1课题研究的目的和意义
目的:采用机器视觉图像处理技术实现车牌自动识别。
意义:随着时代的变化,经济的快速发展,小轿车也进入了寻常人家,传统的停车场主要是人在管理,人工发放IC卡,同时记录进出的时间,所有进出车辆都必须在停车场出入口停车缴费,然后才能进出停车场。但是,在小轿车暴增的情况下,这种低效率的收费方式满足不了现在的快节奏生活,经常会形成堵车等,浪费了大家大量的时间。所以车牌识别系统应运而生,通过车牌识别系统可以快速识别车牌,然后计时收费,既省时又省力,同时还解放了大量的劳动力。
1.2国内外研究现状
国内有大量的专业人员在从事车牌识别系统的研究与设计,他们提出各种各样既简便又快速的的算法,他们理所当然的也取得了很大的成就。例如:(1)中国科学院自动化研究所的刘智勇教授等开发了一套实用的系统。在他们开发的系统中,选取了一个样本容量为3180的实验样本,计算出这套系精准定位的准确度为99.42%,分割的精度为94.52%。因此,这个系统后来被汉王重视并且成功的应用,这套系统已取得了良好的效果;(2)南京大学的熊军教授提出了一种基于字符纹理特征定位算法,这套算法的精度达到了95%;(3)华中科技大学的陈振学等人提出了一个车牌图像字符分割识别算法,该方法是使用一维循环清零方法来传递垂直投影图,这样就可以有效的清除杂点和间隔符,这这方法的正确分割率为96.8%。(4)浙江大学的张引等人提出了彩色边缘算子,这种方法就是使用彩色边缘检测与区域生长结合的牌照定位算法,这种算法不但简单,而且能够更加全面的作用在颜色空间的三个分量上,能够简单的将检测出的牌照区域与背景剥离。但是它的计算量和存储量都比较大,这样不易于满足实时性的要求,同时这种方法对周围环境的要求也相当的高,当车辆区域的颜色接近于附近颜色,定位失误率会大大增加。
在国外,保罗研究开发了一个针对意大利车牌的车牌识别的系统,这套系统的车牌识别率为91%。随着Tindall发展,车牌识别系统可以识别英国的所有五种样式车牌。路易斯发展对日汽车的车牌识别系统提供了重大的帮助,它的发展使得日本汽车车牌识别系统识别率提高到了90%,即使是在比较恶劣的环境下,识别的成功率也能达到70%。目前来说,新加坡Optasia VLPRS系列、英国Alphatech ARGUS产品公司和英国Racal通讯有限公司是国外几个比较成熟的车牌识别系统。
1.3课题的难点及关键技术
(1)图片拍摄的要求比较高,图片拍摄的好坏直接影响后面的所有步骤,所以需要选准相机、调好角度、选好光源,尽量拍摄出清晰的车牌。
(2)车牌定位是最大的难点,因为角度、阴天、晴天、倾斜、遮挡、距离远近等都很大程度上影响车牌定位的精准度。以上因素只要有一个不同,阈值相差都很大。因此可以对HSV通道进行阈值处理。通过计算车牌在S和V通道的面积,并且求出两者的交集,交集所在区域就是车牌的位置,这样就可以简单并且快速的精准定位车牌所在区域。同时需要对车牌的角度进行计算,如果有倾斜则需要通过仿射变换将车牌矫正到固定的位置。
(3)字符分割模块首先将汉字独立分割出来,然后再分割其余六个包含字母和数字的六个字符,接着将这七个独立的连通域结合在一起形成一个新的区域。
(4)在字符识别模块中,首先要做的是训练能识别汉字的OCR,识别字母、数字的OCR可以直接在库里调用,不需要训练。最后只需要将导出的C#程序导入进Visual Studio进行修改,然后通过界面显示识别出来的车牌
2.系统总体设计
2.1方案对比及选取
车牌识别系统大致可以分为四个步骤,首先需要对车牌进行定位,其次对车牌区域进行字符分割,最后则是通过已经训练好的OCR识别分割好的字符,并且将识别出来的字符显示出来,这样便完成了车牌识别的整个过程。
目前车牌定位的主要方法有以下几种:基于纹理特征和颜色匹配的方法[2] 、基于小波分解的方法[3]、基于边缘检测的方法[4]、基于形态学的方法[6]等。通过实验分析得到,以上的每种方法都各自有各自的有点与不足之处。纹理特征和颜色匹配的方法是根据车牌区域灰度变化密集的特征利用扫描法和投影法同时与车牌颜色匹配来实现车牌定位,克服了单一特征的局限性,但容易受光线干扰;边缘检测方法对噪声的抑制能力较强,定位准确率高,但在车牌褪色严重字迹有脏污不清楚的情况下会因为无法检测到车牌边缘而导致无法准确定位到车牌区域。字符分割的方法主要为以下几种:聚类分析法[7]、垂直投影法[8]、模板算法[10]等。聚类方法操作比较繁琐,而垂直投影法又很容易就受到噪声影响,分割的结果很容易被影响,从而导致无法准确的分割出字符。本文的车牌识别系统采用的方法是通过将RGB转为HSV,然后分别对S和V通道种进行求出车牌在这两个通道上的面积,然后求出交集,进而能够精确定位出需要识别的车牌区域。方法操作较为简单,同时识别的过程也比较简洁、高效,也具有很强的通用性。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/915.html

好棒文