当前位置:文档之家› 车牌定位

车牌定位

车牌定位
车牌定位

本人的毕设收集资料

a.一些算法

1.基于纹理特征的车牌定位法

车辆图像随拍摄环境的变化而不同,然而车辆牌照具有不因外部条件变化而改变的特征。车牌内有多个基本成水平排列的字符,字符和牌照底在灰度值上存在跳变,因而车牌这个矩形区域(包括边缘)有丰富的边缘存在,呈现出规则的纹理特征。在传统的基于灰度分割技术上,这些特征为车牌定位研究提供了切实可行的依据。基于纹理分析的方法利用车牌区域内字符纹理丰富的特征定位车牌,它对于光照偏弱、偏强、不均匀性、牌照倾斜和变形等情况不敏感。但该方法应用于背景复杂的图像时,容易把一些纹理分布较丰富的非车牌区域定位进来,产生包含车牌在内的车牌候选区域,这是纹理分析方法的缺陷。

2.基于神经网络的定位算法

利用神经网络来定位车牌是一类较为常见的方法。本算法的基本步骤和各模块的功能如下:(1)神经网络训练模块:收集一定数量的车牌图像样本,归一化后输入至BP神经网络进行训练,达到预定的正确率后,训练结束。本模块将获得一个对车牌敏感的BP神经网络。

(2)图像预处理模块:提取车牌前,对图像进行预处理;抑制噪声,提高图片质量。

(3)车牌定位模块:利用训练好的神经网络在图像中搜索车牌区域,定位车牌。

本方法的特点是从车牌区域特征来判别牌照,因此在搜索时会重点考虑以下表面特征(如边缘、对比度、纹理等)而忽视图像区域的内容。有用信号的特征有时会误导搜索,如果因为定位模块忽视了非牌照区域包含的车牌特征信号点,将这些区域送入后续步骤将会影响车牌字符识别。

3基于特征统计的车牌定位

基于特征统计的车牌定位利用车牌区域的结构特征和字符纹理特征。车牌区域字符笔划变化含有丰富的边缘信息。对整幅汽车图像进行边缘检测,车牌区域相对于其它非车牌区域含有更多的细节信息。对边缘图像进行行或列扫描,该行或列灰度值跳变的次数明显不同非车牌区域的行或列,即基于特征统计的车牌定位方法。此方法分为两个部分:粗定位和精确定位。1.粗定位:

粗定位是从车牌边缘检测后的图像中找出含有车牌的区域,并把它提取出来,考虑到车牌区域中存在大量笔画边缘点集,当线段扫描到车牌区域时,£会大于某个阈值,这样就能初步找到横穿车牌区域的线段,然后以此线段为起点,上下平移扫描,利用车牌区域横向积分投影的连续性特征,定出车牌的上下边。在定位出上下边的同时,利用车牌白点数目占据主导的特点,用一定宽度的矩形,从左往右扫描。粗定位具体做法是用一个比估计车牌小的矩形遍历整个边缘二值图,则落在该矩形内白色的点最多的位置就是车牌区域的大致位置。2.精确定位:

车牌颜色主要分为:蓝底白字、黄底黑字、黑底白字,白底黑字四种。相同号码不同颜色组合的车牌不是同一个车牌,所以颜色信息在车牌定位的过程中相当重要。本文在精确定位时结合车牌的长宽信息、颜色信息,根据车牌颜色(蓝、白、黄、黑4种)像素占候选车牌区域所有像素的比例来确定哪个是车牌部分,由此得到准确的车牌区域。

具体思想如下:对粗定位中提取的区域进行研究,如果此区域蓝、黑、黄色中哪种颜色较多,则认为蓝底色牌照、黑底色牌照、黄底色牌照,剩余的车牌为白底色军车和武警车牌照等。每个颜色的RGB有一定的范围比例,如蓝色的RGB各值中蓝色分量最大,并且蓝色红色分量的比值大于门限Tb;黑色的RGB各值相差不大,它们与其它颜色的RGB值相比是很小的值,且小于门限Tbl;黄色的RGB各分量依次减小,而且蓝色分量远小于其它两色。设图像中像素的红

绿蓝三色分量分别记为r、g、b,下面的pixel代表像素的类型,是蓝色的记为Blue,黑色的记为Black,黄色的为Yellow,具体判断如下:

如果车牌颜色信息满足蓝底牌照、黑底牌照条件或者Sillll

从原始图像可以看到,车体和车牌颜色对比明显,车体主要为黑色,而车牌为蓝色背景,白色字体。车体和车牌颜色的明显对比为算法提供了基础。此算法缺陷在于:车牌颜色必须不同于图像整体背景色,否则无法提取出车牌区域。

5基于改进SobeI算子边缘检测法

传统Sobcl算子只有水平和垂直两个方向模板;其中水平模板对水平边缘的响应最大,垂直模板对垂直边缘响应最大。模板的方向表示灰度由低到高或由高到低的变化方向,而不是图像的实际边缘方向。通过对车牌字符的垂直方向和斜线方向进行划分,本文采用六方向模板,算法实现的基本思想:构造六方向模板,对图像进行逐点计算,取最大值作为该点的新灰度值,该最大值对应模板的方向为该像素点的边缘方向。车牌图像提取特征后,采用迭代求图像最佳分割阈值的算法进行二值化;大多数车牌图像上噪声点较多,经过二值化后的图像如果直接进行水平投影定位,可能出现伪特征信息,所以应先进行去除噪声。本文采用模板大小为l×3的腐蚀运算,去除一些较小噪声点,保留图像车牌部位的主要信息。得到腐蚀后的车牌图像后,对图像的像素沿水平方向累加产生一个投影图,在车牌对应的水平位置会出现一段峰值。本文通过以下三点来判断峰值对应的位置是否为车牌区域:

1.波峰和波谷之间具有一定的落差,当一个局部最大值和它邻近的局部最小值的差大于某一阈值时,该局部最小值为波谷,反之为干扰值。

2.波峰的两个临近波谷之间具有一定宽度,该宽度值由车牌宽度特征决定。

3.波谷所占整个图像的高度在一个范围之内,由车牌处于车身较低位置的特点决定。

在光照均匀和背景不复杂的图像中,车牌的峰值特性十分明显,很容易定位出车牌区域的水平位置。当光照不均匀或者背景复杂的图像中峰值特性不明显,需要选择合理的阈值来准确确定局部最小值是否为谷底问题。本文设定峰顶和峰谷落差的经验阈值为16,峰的宽度阈值为30,即当峰顶和峰谷落差大于16且峰的宽度大于30时,判定该位置为包含车牌区域。车牌下方没有明显的边缘密集区域,所以搜索车牌的时候可以从下往上搜索,当出现的第一个峰值满足上述条件时,该峰值即为车牌的投影区域。由于车牌的底色和车牌字的颜色形成强烈对比,并且在一个相对小的范围内频繁变化,所以可以通过这个特征进行车牌的垂直定位。本文采用数学形态学方法对图像进行处理,检测出大小合适的矩形区域。具体定位算法如下:1对定位后的图像膨胀运算,结构元素是3x3矩形,填充车牌区域的小洞。

2对膨胀后的图像进行一次开运算,结构元素是1×4的矩形。

3.再进行一次膨胀运算,结构元素是1×4,第2步和第3步目的是选定具有一定宽度的区域。4.接着再进行一次开运算,结构元素是4x1。

5.最后进行一次膨胀运算,结构元素为4×1,选定具有一定高度的区域。

将得到的图像投影到垂直方向,根据车牌的宽度信息,设定一个范围,在投影图像中找到满足此范围的投影区域,定位出车牌的垂直位置。基于改进Sobel算子边缘检测的效果如图3-4

所示。

4.基于数学形态学的定位方法

基于数学形态学的车牌定位算法是利用开启和闭合这两种运算在图像中进行定位。数学形态学中的开闭运算具有以下特点:

(1)开运算可以擦除图像中的像素。从而能够去除孤立的小点、毛刺,保持总的位置和形状不变。

(2)闭运算可以使图像中的像素粘连。这一特点可用于填平小孔、弥合小裂缝,保持总的位置和形状不变。

利用数学形态学中的开闭运算对图像处理,得到多个车牌可能区域,然后用多区域判别法在图像的多个车牌可能区域中找到车牌的正确位置。此算法中结构元素大小的选取至关重要。结构元素过大,会使非车牌区域的边缘点粘连在一起,可能的车牌区域增多,给随后的多区域判别算法带来困难;结构元素过小,车牌区域无法粘连在一起,可能使真正的车牌区域不包含在可能车牌区域集合中。

这个文字不是一般的多建议你还是去下载研究生的论文和期刊吧,如果懒的话,百度文库里找,就有很多了

1) 基于车牌图像色彩信息定位法[12]。我国车牌主要由四种类型组成:蓝底白字、黄底

黑字、白底红字和黑底白字。根据车牌底色信息可以准确地定位出车牌的边界。该方法识别滤高、适应性强,但易受光照条件和背景干扰且运算量一般较大,不适合用于实时性要求高的环境中。

2) 基于边缘检测的定位法[13]。车牌字符区域灰度频率变化是车牌区域最稳定的特

征,可以利用它的变化来进行车牌定位。首先对车辆图像进行增强,然后再进行边缘提取,最后利用水平扫描线等方法进行车牌区域的检测。该类方法的定位准确率较高,反映时间快,能有效去掉噪声,适合于背景较复杂的车辆图像。但是对车牌严重褪色的情况,由于检测不到字符笔画的边缘会导致定位失败。

3) 基于车牌几何特征车定位法[14]。我国车牌标准外轮廓尺寸为440*140且为矩形,

整个车牌的宽高比近似为3: 1。利用这种固有特征进行车牌边框提取车牌。这类方法只在车牌位置基本保持水平,同时边框清晰明显时才有效,但若车牌本身的边框是断裂,残缺的或采集到的图像偏离水平角度较大,都会影响定位的准确性,故使用范围较窄。

4) 基于频谱分析的车牌定位法[15]。该类方法将图像从空间域变换到频率域进行分析,

如DFT变换法和采用小波变换法等。小波分析可以在不同的分辨率层次上对图像进行分割,在低分辨率层次上进行粗分割,这样节约时间同时为细分割缩小检测范围。而在高分辨率层次上实现车牌区域的准确定位。但当车辆图像中存在燥声时,会对准确识别车牌区域带来很大的干扰,影响车牌定位的准确性

b.论文

目录

一.课程设计目的 (3)

二.设计原理 (3)

三.详细设计步骤 (3)

四. 设计结果及分析 (18)

五. 总结 (19)

六. 设计体会 (20)

七. 参考文献 (21)

一、课程设计目的

车牌定位系统的目的在于正确获取整个图像中车牌的区域,并识别出车牌号。通过设计实现车牌识别系统,能够提高学生分析问题和解决问题的能力,还能培养一定的科研能力。

二、设计原理:

牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。某些牌照识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。一个完整的牌照识别系统应包括车辆检测、图像采集、牌照识别等几部分。当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。

三、详细设计步骤:

1. 提出总体设计方案:

牌照号码、颜色识别

为了进行牌照识别,需要以下几个基本的步骤:

a.牌照定位,定位图片中的牌照位置;

b.牌照字符分割,把牌照中的字符分割出来;

c.牌照字符识别,把分割好的字符进行识别,最终组成牌照号码。

牌照识别过程中,牌照颜色的识别依据算法不同,可能在上述不同步骤实现,通常与牌照识别互相配合、互相验证。

(1)牌照定位:

自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确

定牌照区域是整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。

流程图: (2)牌照字符分割 : 完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。字

符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。 (3)牌照字符识别 : 字符识别方法目前主要有基于模板匹配算法和基于人工神经网络算法。基于模板匹配算法首先将分割后的字符二值化,并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。基于人工神经元网络的算法有两种:一种是先对待识别字符进行特征提取,然后用所获得特征来训练神经网络分配器;另一种方法是直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果。实际应用中,牌照识别系统的识别率与牌照质量和拍摄质量密切相关。牌照质量会受到各种因素的影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。这些影响因素不同程度上降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战导入原始图像 图像预处理增

强效果图像 边缘提取 车牌定位

对图像开闭运算 按左右宽度切割出字符

计算水平投影进行车牌水平校正 去掉车牌的框架

分析垂直投影找到每个字符中心位置 切割出的字

符送入库中 字符依次分析显示误差最小的图片名字

与数据库的图片相减 分析之差最小的图片是哪张

所在。为了提高识别率,除了不断的完善识别算法,还应该想办法克服各种光照条件,使采集到的图像最利于识别。

2. 各模块的实现:

2.1输入待处理的原始图像:

clear ;

close all;

%Step1 获取图像装入待处理彩色图像并显示原始图像

Scolor = imread('3.jpg');%imread函数读取图像文件

图2.1原始图像

2.2图像的灰度化:

彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。由彩色转换为灰度的过程叫做灰度化处理。选择的标准是经过灰度变换后,像素的动态范围增加,图像的对比度扩展,使图像变得更加清晰、细腻、容易识别。

%将彩色图像转换为黑白并显示

Sgray = rgb2gray(Scolor);%rgb2gray转换成灰度图

figure,imshow(Sgray),title('原始黑白图像');

图2.2原始黑白图像

2.3对原始图像进行开操作得到图像背景图像:

s=strel('disk',13);%strei函数

Bgray=imopen(Sgray,s);%打开sgray s图像

figure,imshow(Bgray);title('背景图像');%输出背景图像

图2.3背景图像

2.4灰度图像与背景图像作减法,对图像进行增强处理:

Egray=imsubtract(Sgray,Bgray);%两幅图相减

figure,imshow(Egray);title('增强黑白图像');%输出黑白图像

图2.4黑白图像

2.5取得最佳阈值,将图像二值化:

二值图像是指整幅图像画面内仅黑、白二值的图像。在实际的车牌处理系统中,进行图像二值变换的关键是要确定合适的阀值,使得字符与背景能够分割开来,二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息,不会产生额外的空缺等等。车牌识别系统要求处理的速度高、成本低、信息量大,采用二值图像进行处理,能大大地提高处理效率。阈值处理的操作过程是先由用户指定或通过算法生成一个阈值,如果图像中某中像素的灰度值小于该阈值,则将该像素的灰度值设置为0或255,否则灰度值设置为255或0。

fmax1=double(max(max(Egray)));%egray的最大值并输出双精度型

fmin1=double(min(min(Egray)));%egray的最小值并输出双精度型

level=(fmax1-(fmax1-fmin1)/3)/255;%获得最佳阈值

bw22=im2bw(Egray,level);%转换图像为二进制图像

bw2=double(bw22);

figure,imshow(bw2);title('图像二值化');%得到二值图像

图2.5二值图像

2.6边缘检测:

两个具有不同灰度值的相邻区域之间总存在边缘,边缘就是灰度值不连续的结果,是图像分割、纹理特征提取和形状特征提取等图像分析的基础。为了对有意义的边缘点进行分类,与这个点相联系的灰度级必须比在这一点的背景上变换更有效,我们通过门限方法来决定一个值是否有效。所以,如果一个点的二维一阶导数比指定的门限大,我们就定义图像中的次点是一个边缘点,一组这样的依据事先定好的连接准则相连的边缘点就定义为一条边缘。经过一阶的导数的边缘检测,所求的一阶导数高于某个阈值,则确定该点为边缘点,这样会导致检测的边缘点太多。可以通过求梯度局部最大值对应的点,并认定为边缘点,去除非局部最大值,可以检测出精确的边缘。一阶导数的局部最大值对应二阶导数的零交叉点,这样通过找图像强度的二阶导数的零交叉点就能找到精确边缘点。

grd=edge(bw2,'canny')%用canny算子识别强度图像中的边界

figure,imshow(grd);title('图像边缘提取');%输出图像边缘

图2.6像边缘提取

2.7对得到图像作开操作进行滤波:

数学形态非线性滤波,可以用于抑制噪声,进行特征提取、边缘检测、图像分割等图像处理问题。腐蚀是一种消除边界点的过程,结果是使目标缩小,孔洞增大,因而可有效的消除孤立噪声点;膨胀是将与目标物体接触的所有背景点合并到物体中的过程,结果是使目标增大,孔洞缩小,可填补目标物体中的空洞,形成连通域。先腐蚀后膨胀的过程称为开运算,它具有消除细小物体,并在纤细处分离物体和平滑较大物体边界的作用;先膨胀后腐蚀的过程称为闭运算,具有填充物体内细小空洞,连接邻近物体和平滑边界的作用。对图像做了开运算和闭运算,闭运算可以使图像的轮廓线更为光滑,它通常用来消掉狭窄的间断和长细的鸿沟,消除小的孔洞,并弥补轮廓线中的断裂。

bg1=imclose(grd,strel('rectangle',[5,19]));%取矩形框的闭运算

figure,imshow(bg1);title('图像闭运算[5,19]');%输出闭运算的图像

bg3=imopen(bg1,strel('rectangle',[5,19]));%取矩形框的开运算

figure,imshow(bg3);title('图像开运算[5,19]');%输出开运算的图像

bg2=imopen(bg3,strel('rectangle',[19,1]));%取矩形框的开运算

figure,imshow(bg2);title('图像开运算[19,1]');%输出开运算的图像

图2.7.1闭运算的图像图2.7.2开运算的图像

图2.7.3开运算的图像

2.8对二值图像进行区域提取,并计算区域特征参数。进行区域特征参数比较,提取车牌区域:

a.对图像每个区域进行标记,然后计算每个区域的图像特征参数:区域中心位置、最小包含矩形、面积。

[L,num] = bwlabel(bg2,8);%标注二进制图像中已连接的部分

Feastats = imfeature(L,'basic');%计算图像区域的特征尺寸

Area=[Feastats.Area];%区域面积

BoundingBox=[Feastats.BoundingBox];%[x y width height]车牌的框架大小RGB = label2rgb(L, 'spring', 'k', 'shuffle'); %标志图像向RGB图像转换figure,imshow(RGB);title('图像彩色标记');%输出框架的彩色图像

图2.8.1彩色图像

b. 计算出包含所标记的区域的最小宽和高,并根据先验知识,比较谁的宽高比更接近实际车牌宽高比,将更接近的提取并显示出来。

计算矩形的宽度

计算矩形的高度

框架的宽度和高度的范围

车牌的开始列

车牌的开始行

计算车牌长宽比

获取车牌二值子

程序流程图图2.8.2灰度子图和二值子图

2.9对水平投影进行峰谷分析:

对水平投影进行峰谷分析,计算出车牌上边框、车牌字符投影、车牌下边框的波形峰上升点、峰下降点、峰宽、谷宽、峰间距离、峰中心位置参数。histcol1=sum(sbw1); %计算垂直投影

histrow=sum(sbw1'); %计算水平投影

figure,subplot(2,1,1),bar(histcol1);title('垂直投影(含边框)');%输出垂直投影

subplot(2,1,2),bar(histrow); title('水平投影(含边框)');%输出水平投影

图2.9.1垂直投影和水平投影

figure,subplot(2,1,1),bar(histrow); title('水平投影(含边框)');%输出水平投影

subplot(2,1,2),imshow(sbw1);title('车牌二值子图');%输出二值图

对水平投影进行峰谷分析:

求水平投影的平均值

求水平投影的最小值

取阈值

计算谷宽度

计算峰距离

计算下降点

找到峰中心位置

图2.9.2水平投影和二值图程序流程图

2.10计算车牌旋转角度:

a.车牌倾斜的原因导致投影效果峰股谷不明显,在这里需要做车牌矫正处理。这里采取的线性拟合的方法,计算出车牌上边或下边图像值为1的点拟合直线与水平X轴的夹角。

标示出图像大小

求最大宽度为字符

检测上边

从顶边至第一个峰下降点扫描

从底边至最后一个峰的上升点扫描

找第一个为1的点

程序流程图

(2)线性拟合,计算与x夹角

fresult = fit(xdata',ydata','poly1'); %poly1表示一介拟合 Y = p1*x+p2

p1=fresult.p1;

angle=atan(fresult.p1)*180/pi; %弧度换为度,360/2pi, pi=3.14

(3)旋转车牌图象

subcol = imrotate(subcol1,angle,'bilinear','crop'); %旋转车牌图象

sbw = imrotate(sbw1,angle,'bilinear','crop');%旋转图像

figure,subplot(2,1,1),imshow(subcol);title('车牌灰度子图');%输出车牌旋转后的灰度图像标题显示车牌灰度子图

subplot(2,1,2),imshow(sbw);title('');%输出车牌旋转后的灰度图像

title(['车牌旋转角: ',num2str(angle),'度'] ,'Color','r');%显示车牌的旋转角度

图2.10.1旋转后的灰度图像和旋转角度

b.旋转车牌后重新计算车牌水平投影,去掉车牌水平边框,获取字符高度: histcol1=sum(sbw); %计算垂直投影

histrow=sum(sbw'); %计算水平投影

figure,subplot(2,1,1),bar(histcol1);title('垂直投影(旋转后)'); subplot(2,1,2),bar(histrow); title('水平投影(旋转后)');

图2.10.2垂直投影(旋转后)和水平投影(旋转后)

figure,subplot(2,1,1),bar(histrow); title('水平投影(旋转后)'); subplot(2,1,2),imshow(sbw);title('车牌二值子图(旋转后)');

图2.10.3水平投影(旋转后)和车牌二值子图(旋转后)

2.11去水平(上下)边框,获取字符高度:

a.通过以上水平投影、垂直投影分析计算,获得了车牌字符高度、字符顶行与尾行、字符宽度、每个字符的中心位置,为提取分割字符具备了条件。

maxhight=max(markrow2);

findc=find(markrow2==maxhight);

rowtop=markrow(findc);

rowbot=markrow(findc+1)-markrow1(findc+1);

sbw2=sbw(rowtop:rowbot,:); %子图为(rowbot-rowtop+1)行

maxhight=rowbot-rowtop+1; %字符高度(rowbot-rowtop+1)

b.计算车牌垂直投影,去掉车牌垂直边框,获取车牌及字符平均宽度

histcol=sum(sbw2); %计算垂直投影

figure,subplot(2,1,1),bar(histcol);title('垂直投影(去水平边框后)');%输出车牌的垂直投影图像

subplot(2,1,2),imshow(sbw2); %输出垂直投影图像

title(['车牌字符高度: ',int2str(maxhight)],'Color','r');%输出车牌字符高度

%对垂直投影进行峰谷分析

求垂直投影的平均值

求垂直投影的最小值

取阈值

计算字符上升点

计算谷宽度

计算字符距离

找到字符中心位置

图2.11垂直投影图像和车牌字符高度程序流程图

c.计算车牌上每个字符中心位置,计算最大字符宽度maxwidth

l=0;

for k=1:n1

markcol3(k)=markcol(k+1)-markcol1(k+1);%字符下降点

markcol4(k)=markcol3(k)-markcol(k); %字符宽度(上升点至下降点) markcol5(k)=markcol3(k)-double(uint16(markcol4(k)/2));%字符中心位置

end

markcol6=diff(markcol5); %字符中心距离(字符中心点至下一个字符中心点)maxs=max(markcol6); %查找最大值,即为第二字符与第三字符中心距离findmax=find(markcol6==maxs);

markcol6(findmax)=0;

maxwidth=max(markcol6);%查找最大值,即为最大字符宽度

d.提取分割字符,并变换为22行*14列标准子图

l=1;

[m2,n2]=size(subcol);

figure;

for k=findmax-1:findmax+5

cleft=markcol5(k)-maxwidth/2;

cright=markcol5(k)+maxwidth/2-2;

if cleft<1

cleft=1;

cright=maxwidth;

end

if cright>n2

cright=n2;

cleft=n2-maxwidth;

end

SegGray=sbw(rowtop:rowbot,cleft:cright);

SegBw1=sbw(rowtop:rowbot,cleft:cright);

SegBw2 = imresize(SegBw1,[22 14]); %变换为22行*14列标准子图 subplot(2,n1,l),imshow(SegGray);

if l==7

title(['车牌字符宽度: ',int2str(maxwidth)],'Color','r'); end

subplot(2,n1,n1+l),imshow(SegBw2);

fname=strcat('F:\MATLAB\work\sam\image',int2str(k),'.jpg');%保存子图备选入样本库,并建立样本库

imwrite(SegBw2,fname,'jpg')

l=l+1;

end

2.12将计算计算获取的字符图像与样本库进行匹配,自动识别出字符代码:

进行车牌识别前需要使用样本对神经网络进行训练,然后使用训练好的网络对车牌进行识别。其具体流程为:使用汉字、字母、字母数字、数字四个样本分别对四个子网络进行训练,得到相应的节点数和权值。对已经定位好的车牌进行图像预处理,逐个的特征提取,然后从相应的文件中读取相应的节点数和权值,把车牌字符分别送入相应的网络进行识别,输出识别结果。

建立数据库

样本与数据库中图片相减

计算误差

找到误差最小图片

依次识别并识别

程序流程图图2.12识别的车牌号码四、设计结果及分析

原始图像: 预处理后:

车牌定位和提取:字符的分割和识别:

可以看出对于这个车牌,可以准确的识别。

原始图像: 预处理:

车牌定位

本人的毕设收集资料 a.一些算法 1.基于纹理特征的车牌定位法 车辆图像随拍摄环境的变化而不同,然而车辆牌照具有不因外部条件变化而改变的特征。车牌内有多个基本成水平排列的字符,字符和牌照底在灰度值上存在跳变,因而车牌这个矩形区域(包括边缘)有丰富的边缘存在,呈现出规则的纹理特征。在传统的基于灰度分割技术上,这些特征为车牌定位研究提供了切实可行的依据。基于纹理分析的方法利用车牌区域内字符纹理丰富的特征定位车牌,它对于光照偏弱、偏强、不均匀性、牌照倾斜和变形等情况不敏感。但该方法应用于背景复杂的图像时,容易把一些纹理分布较丰富的非车牌区域定位进来,产生包含车牌在内的车牌候选区域,这是纹理分析方法的缺陷。 2.基于神经网络的定位算法 利用神经网络来定位车牌是一类较为常见的方法。本算法的基本步骤和各模块的功能如下:(1)神经网络训练模块:收集一定数量的车牌图像样本,归一化后输入至BP神经网络进行训练,达到预定的正确率后,训练结束。本模块将获得一个对车牌敏感的BP神经网络。 (2)图像预处理模块:提取车牌前,对图像进行预处理;抑制噪声,提高图片质量。 (3)车牌定位模块:利用训练好的神经网络在图像中搜索车牌区域,定位车牌。 本方法的特点是从车牌区域特征来判别牌照,因此在搜索时会重点考虑以下表面特征(如边缘、对比度、纹理等)而忽视图像区域的内容。有用信号的特征有时会误导搜索,如果因为定位模块忽视了非牌照区域包含的车牌特征信号点,将这些区域送入后续步骤将会影响车牌字符识别。 3基于特征统计的车牌定位 基于特征统计的车牌定位利用车牌区域的结构特征和字符纹理特征。车牌区域字符笔划变化含有丰富的边缘信息。对整幅汽车图像进行边缘检测,车牌区域相对于其它非车牌区域含有更多的细节信息。对边缘图像进行行或列扫描,该行或列灰度值跳变的次数明显不同非车牌区域的行或列,即基于特征统计的车牌定位方法。此方法分为两个部分:粗定位和精确定位。1.粗定位: 粗定位是从车牌边缘检测后的图像中找出含有车牌的区域,并把它提取出来,考虑到车牌区域中存在大量笔画边缘点集,当线段扫描到车牌区域时,£会大于某个阈值,这样就能初步找到横穿车牌区域的线段,然后以此线段为起点,上下平移扫描,利用车牌区域横向积分投影的连续性特征,定出车牌的上下边。在定位出上下边的同时,利用车牌白点数目占据主导的特点,用一定宽度的矩形,从左往右扫描。粗定位具体做法是用一个比估计车牌小的矩形遍历整个边缘二值图,则落在该矩形内白色的点最多的位置就是车牌区域的大致位置。2.精确定位: 车牌颜色主要分为:蓝底白字、黄底黑字、黑底白字,白底黑字四种。相同号码不同颜色组合的车牌不是同一个车牌,所以颜色信息在车牌定位的过程中相当重要。本文在精确定位时结合车牌的长宽信息、颜色信息,根据车牌颜色(蓝、白、黄、黑4种)像素占候选车牌区域所有像素的比例来确定哪个是车牌部分,由此得到准确的车牌区域。 具体思想如下:对粗定位中提取的区域进行研究,如果此区域蓝、黑、黄色中哪种颜色较多,则认为蓝底色牌照、黑底色牌照、黄底色牌照,剩余的车牌为白底色军车和武警车牌照等。每个颜色的RGB有一定的范围比例,如蓝色的RGB各值中蓝色分量最大,并且蓝色红色分量的比值大于门限Tb;黑色的RGB各值相差不大,它们与其它颜色的RGB值相比是很小的值,且小于门限Tbl;黄色的RGB各分量依次减小,而且蓝色分量远小于其它两色。设图像中像素的红

车牌图像定位与识别

专业综合实验报告----数字图像处理 专业:电子信息工程 班级: : 学号: 指导教师:

2014年7月18日 车牌图像定位与识别 一、设计目的 利用matlab实现车牌识别系统,熟悉matlab应用软件的基础知识,利用其解决数字信号处理的实际应用问题,从而加深对理论知识的掌握,巩固理论课上知识的同时,加强实践能力的提高,理论联系实践,提高自身的动手能力。同时不断的调试程序也提高了自己独立编程水平,并在实践中不断完善理论基础,有助于自身综合能力的提高。 二、设计内容和要求 车牌识别系统应包含图像获取、图像处理、图像分割、字符识别、数据库管理等几个部分,能够完成复杂背景下汽车牌照的定位分割以及牌照字符的自动识别。这里,只要求对给定的彩色车牌图像变换成灰度图像,用阈值化技术进行字符与背景的分离,再提取牌照图像。 三、设计步骤 1.打开计算机,启动MATLAB程序; 2.调入给定的车牌图像,并按要求进行图像处理; 3.记录和整理设计报告 四、设计所需设备及软件 计算机一台;移动式存储器;MATLAB软件。 五、设计过程 车辆牌照识别整个系统主要是由车牌定位和字符分割识别两部分组成,其中车牌定位又可以分为图像预处理及边缘提取模块和牌照的定位及分割模块;字符识别可以分为字符分割和单个字符识别两个模块。 (一)对图像进行图像转换、图像增强和边缘检测等

1.载入车牌图像: 原图 2.将彩图转换为灰度图并绘制直方图: 灰度图 灰度直方图 3.用roberts 算子进行边缘检测: 图像中车辆牌照是具有比较显著特征的一块图象区域,这此特征表现在:近似水平的矩形区域;其中字符串都是按水平方向排列的;在整体图象中的位置较为固定。正是由于牌照图象的这些特点,再经过适当的图象变换,它在整幅中可以明显地呈现出其边缘。边缘提取是较经典的算法,此处边缘的提取采用的是

基于投影法的车牌定位研究

基于投影法的车牌定位研究 摘要:车牌识别系统是近几年发展起来的基于图像处理和字符识别技术的智能化交通管理系统。车牌定位是车牌识别中的关键步骤。为了能在复杂背景和不同光照条件下快速、准确地定位车牌位置。提出了一种基于投影法的车牌定位方法。该方法首先对车牌图像实施二值化、边缘检测等预处理,然后在此基础上,利用基于双向回溯的投影法确定车牌的上下左右边界。实验结果表明,该方法定位准确。 关键词:车牌定位;行扫描;边缘检测;垂直投影 Research of License Plate Locating Method Based on Projection Abstract: license plate recognition system is developed in recent years based on image processing and character recognition technologies intelligent traffic management system. License plate location is one of the key steps in the license plate recognition. In order to obtain accurate location of vehicle plate quickly under complicated background and different illumination condition, this paper proposes a kind of locating method based on projection. First, this method carries out preprocessing such as two-valuation and edge detection. Then the projection approach based on two-way back is adopted to examine up-down and left-right boundary of the car license. The experiment results indicate that the presented method is excellent in accuracy. Key words: license plate location; line scanning; edge detective; vertical projection 0 引言 车牌识别系统作为数字摄像、计算机信息管理、图像分割和图形识别技术在智能交通领域的应用,是智能交通管理系统中重要的组成部分。车牌识别技术可应用于道路交通监控、交通事故现场勘察、交通违章自动记录、高速公路超速管理系统、小区智能化管理等方面[1],为智能交通管理提供了高效、实用的手段。所以对车牌识别技术的研究依然是目前高科技领域的热门课题之一。车牌识别系统的成功设计、开发和应用具有相当大的社会效益、经济效益和学术意义。 基于图像处理的车牌识别系统一般包括以下五个部分: 图1 车牌识别系统 在实际应用中,车牌识别系统必须快速、准确、鲁棒地识别出车牌。因此,在车牌识别过程中,车辆的检测、图像的采集、车牌的识别等都是重要的环节,其中关键的技术有[2]:1)车辆牌照区域定位技术,即把车牌部分的图像从整个图像中切分出来的过程。 2)车辆牌照字符切分技术,即对定位后的车牌区域中的字符进行切分和归一化处理,其中车牌的二值化和倾斜校正对于字符的切分和识别都是非常重要的。 3)车辆牌照字符识别技术,即将切分后的字符识别出来。 车牌定位是车牌识别系统完成图像采集后对图像进行处理的第一步,它的好坏直接关系到整个系统识别率的高低,并且对识别速度有很大的影响。车牌不能准确定位意味着后面的识别过程都是无效的[3]。 由于车牌背景的复杂性与车牌特征的多样性,目前仍没有一个通用的智能化的车牌定位方法。目前主要的车牌定位算法有基于彩色信息的方法、基于扫描行的方法、基于数学形态

关于车牌定位的一些算法

近年来,智能交通系统(ITS)越来越受到人们的重视在车牌识别中,车牌自动识别系统作为核心部分之一应用已经越来越普及。车牌识别系统主要分车牌定位、字符切分和字符识别三部分,而车牌定位又是系统中最重要的步骤,定位的成功与否以及定位的准确程度将会直接决定后期能否进行车牌识别以及识别的准确度。 文中利用MATLAB进行分析与仿真。MATLAB是一种简单,高效、功能强大的高级语言,在科学与工程计算领域有着广泛的应用前途。在数字图像处理领域,可应用MATLAB数字图像处理技术进行系统分析与设计。 本文要讨论的是对彩色车牌图像进行包括灰度化、二值化、图像增强、边缘检测的预处理,之后进行区域提取来实现对车牌的初定位。借助MATLAB编程语言在仿真过程中分析现有算法并加以改进。 1 车牌定位中的基本理论与算法 1.1图像灰度化 彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。经过灰度变换后,像素的动态范围增加,图像的对比度扩展,使图像变得更加清晰、细腻、容易识别。 在车牌识别中要利用灰度分布的特征进行进一步的分割、识别,因此对车牌图像进行灰度化成为车牌定位的必要步骤之一。 1.2图像二值化 二值图像是指整幅图像画面内仅黑、白二值的图像。在实际的车牌处理系统中,进行图像二值变换的关键是要确定合适的阀值,使得字符与背景能够分割开来,二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息,不会产生额外的空缺等等。车牌识别系统要求处理的速度高、成本低、信息量大,采用二值图像进行处理,能大大地提高处理效率。如果图像中某中像素的灰度值小于该阈值,则将该像素的灰度值设置为0或255,否则灰度值设置为255或0。

基于模式识别的车牌定位算法研究-开题报告

安徽建筑工业学院电子与信息工程学院本科毕业设计(论文)开题报告 课题名称:基于模式识别的图像处理算法研究 ——基于模式识别的车牌定位算法研究专业:电子信息工程 班级:08电子①班 学生姓名:陈宇栋 学号:08205010127 指导教师: 填表日期:2012年3月5日 安徽建筑工业学院电子与信息工程学院 二○一一年十二月制表

说明 1.抓好毕业设计(论文)的开题报告是保证毕业设计 (论文)质量的一个重要环节。为了加强对毕业设计(论文)的过程管理,规范毕业设计(论文)的开题报告,特印发此表。 2.毕业生一般应在毕业设计前期准备过程中,通过文 献调研,主动跟指导教师讨论,完成毕业设计(论文)的开题报告。 3.此表经过指导教师和有关人员签字后,一份由指导 教师保存,一份交院教学办公室。 4.毕业生在毕业设计(论文)答辩时,必须提交这份 毕业设计(论文)开题报告。 填写选题依据和设计方案,力求简练,若表中栏目不够填写,可另加附页。

一、简表 学生简况 姓名陈宇栋性别男出生年月1988-08入学时间2008-09学号08205010127专业电子信息工程班级08电子①班 课题名称基于模式识别的图像处理算法研究 子课题基于模式识别的车牌定位算法研究 课题来源纵向课题 类型计算机软件设计 研究(设计)内容 随着计算机和人工智能技术的发展,模式识别在图像处理中的应用日益广泛,智能交通工具在世界范围内引起重视,而车牌识别系统是智能交通工具的重要组成部分,该系统可以记录十字路口违章车辆,实现高速公路、收费路口、停车场等地的收费。车牌识别系统包括从图像的采集到预处理,再到车牌区域的定位和字符的分割,最后对分割出的字符进行识别的一系列过程。本次毕业设计主要对汽车牌照识别系统进行处理研究,借助于Visual C++编程环境运行在相应的硬件平台上,利用数字图像模式识别技术实现对汽车牌照的自动识别。按照模式识别系统组成,完成汽车牌照自动识别技术包括车牌预处理、车牌特征提取和车牌识别等功能,完成相应的算法研究。 对采集的车牌图像进行预处理包括图像灰度化、二值化、灰度拉伸及边缘提取等过程,并且过滤图像噪声使图像区域特征明显,根据区域特征确定车牌区域。车牌字符分割可以采用车牌区域纵向灰度投影的方式进行字符区域识别和分割实现。最后进行车牌分割字符图像归一化,将分割好的字符图像通过系数变换得到高度、宽度均相等的图像,以方便特征提取,提高识别的准确率,实现车牌的识别。

基于matlab的车牌号码识别程序代码

基于matlab的汽车牌照识别程序 摘要:本次作业的任务是设计一个基于matlab的汽车牌照识别程序,能够实现车牌图像预处理,车牌定位,字符分割,然后通过神经网络对车牌进行字符识别,最终从一幅图像中提取车牌中的字母和数字,给出文本形式的车牌号码。 关键词:车牌识别,matlab,神经网络 1 引言 随着我国交通运输的不断发展,智能交通系统(Intelligent Traffic System,简称ITS)的推广变的越来越重要,而作为ITS的一个重要组成部分,车辆牌照识别系统(vehicle license plate recognition system,简称LPR)对于交通管理、治安处罚等工作的智能化起着十分重要的作用。它可广泛应用于交通流量检测,交通控制于诱导,机场,港口,小区的车辆管理,不停车自动收费,闯红灯等违章车辆监控以及车辆安全防盗等领域,具有广阔的应用前景。由于牌照是机动车辆管理的唯一标识符号,因此,车辆牌照识别系统的研究在机动车管理方面具有十分重要的实际意义。 2 车辆牌照识别系统工作原理 车辆牌照识别系统的基本工作原理为:将摄像头拍摄到的包含车辆牌照的图像通过视频卡输入到计算机中进行预处理,再由检索模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。 3 车辆牌照识别系统组成 (1)图像预处理:对汽车图像进行图像转换、图像增强和边缘检测等。 (2)车牌定位:从预处理后的汽车图像中分割出车牌图像。即在一幅车辆图像中找到车牌所在的位置。 (3)字符分割:对车牌图像进行几何校正、去噪、二值化以及字符分割以从车牌图像中分离出组成车牌号码的单个字符图像

车牌定位算法研究及实现

车辆自动识别技术(一)——车牌定位算法研究及实现 (2010-07-19 22:45:15) 分类:控制仿真类 标签: 杂谈 摘要 随着我国交通事业的迅速发展,城市汽车容量的急速攀升,建立现代化的智能交通系统已经成为解决此类中诸多问题的焦点所在。汽车牌照识别系统是交通管理领域和数字图像处理领域里的热点问题,车辆是构成整个智能交通系统的最基本元素,而车辆牌照是我们标定车辆的唯一ID,所以说,车牌定位是实现车牌字符分割和字符识别的前提和关键。 本文介绍了三种基于MATLAB的汽车牌照图像定位方法。这些算法充分利用了车牌纹理、颜色、宽高比等特征,经过灰度化、运动区域定位、边缘提取、水平投影、自适应数学形态学处理、垂直投影、颜色判定、区域生长等一系列步骤,最终实现车牌定位。特别是边缘处理算子的改进、自适应数学形态学的引入以及小波分析的应用,对算法性能有着巨大影响,是本算法的关键所在。 实验结果表明,所述的三种方法是有效的,能够定位所采集的车牌,虽然不能定位全部采集到的图片,但方法三相对前两种方法的准确率有很大的提高,达到了预期的目的。 关键词:车牌定位;纹理分析;边缘检测;数学形态学;小波分析 目录 摘要 Abstract 第1章绪论 1 1.1 课题研究背景及意义 1 1.2 课题研究目的 2 1.3 国内及国外研究现状 2 1.3.1 国内研究现状 2

1.3.2 国外研究现状 4 1.4 本文的工作及基本结构 4 第2章图像处理技术基础 5 2.1 图像预处理 5 2.1.1 图像灰度化 5 2.1.2 图像二值化 6 2.1.3 图像小波变换 6 2.1.4 图像形态学处理 7 2.2 图像区域裁剪 9 第3章基于MATLAB的车牌定位算法实现 10 3.1 MATLAB及其图像处理工具 10 3.2 我国车牌特点及识别难点 10 3.2.1 我国车辆牌照特点 10 3.2.2 我国车辆牌照定位难点 11 3.3 图像的采集 11 3.4 基于不同车牌特征的程序实现过程及结果图 13 3.4.1 基于车牌颜色特征的方法 13 3.4.2 基于数学形态学和边缘特征的方法 16 3.4.3 基于小波分析的方法 20 3.5 三种方法的结果比较 23 第4章结束语 26 参考文献 27 致谢 28 附录 29 第1章绪论 1.1 课题研究背景及意义

数字图像处理-常用车牌定位方法的介绍和分析

车牌识别LPR(License Plate Recogniti ON)技术作为交通管理自动化的重要手段和车辆检测系统的一个重要环节,能经过图像抓拍、车牌定位、图像处理、字符分割、字符识别等一系列算法运算,识别出视野范围内的车辆牌照号码;它运用数字图像处理、模式识别、人工智能技术对采集到的汽车图像进行处理,能够实时准确地自动识别出车牌的数字、字母及汉字字符,并以计算机可直接运行的数据形式给出识别结果,使得车辆的电脑化监控和管理成为现实。 车牌识别技术的任务是处理、分析摄取的视频流中复杂背景的车辆图像,定位、分割牌照字符,最后自动识别牌照上的字符。为了保证汽车车牌识别系统能在各种复杂环境下发挥其应有的作用,识别系统必须满足以下要求: (1)鲁棒性:在任何情况下均能可靠正常地工作,且有较高的正确识别率。 (2)实时性:不论在汽车静止还是高速运行情况下,图像的采集识别系统必须在一定时间内识别出车牌全部字符,达到实时识别。 车牌识别技术的关键在于车牌定位、字符分割和字符识别三部分,其中车牌定位的准确与否直接决定后面的字符分割和识别效果,是影响整个LPR系统识 别率的主要因素,是车牌识别技术中最为关键的一步。目前车牌定位的方法多种多样, 归纳起来主要有基于纹理特征分析的方法、 基于边缘检测的方法、 基于数学形态学定位、基于小波分析定位以及基于彩色图像定位等,这些方法各有所长。

1、车牌目标区域特点 车牌定位方法的出发点是利用车牌区域的特征来判断牌照,将车牌区域从整幅车辆图像中分割出来。车牌自身具有许多的固有特征,这些特征对于不同的国家是不同的。从人的视觉角度出发,我国车牌具有以下可用于定位的特征: (1)车牌底色一般与车身颜色、字符颜色有较大差异; (2)车牌有一个连续或由于磨损而不连续的边框; (3)车牌内字符有多个,基本呈水平排列,在牌照的矩形区域内存在丰富的边缘,呈现规则的纹理特征; (4)车牌内字符之间的间隔较均匀,字符和牌照底色在灰度值上存在较大的跳变,字符本身和牌照底内部都有比较均匀的灰度; (5)不同图像中牌照的具体大小、位置不确定,但其长宽比在一定的变化范围内,存在1个最大值和1个最小值。 以上几种特征都是概念性的,各项特征单独看来都非车牌图像所独有,但将它们结合起来可以唯一地确定车牌。在这些特征中,颜色、形状、位置特征最为直观,易于提取。纹理特征比较抽象,必须经过一定的处理或者转换为其他特征才能得到相应的可供使用的特征指标。通常文字内容特征至少需要经过字符分割或识别后才可能成为可利用的特征,一般只是用来判断车牌识别正确与否。

车牌识别系统需求分析模板

车牌识别系统需求分析文档 车牌识别系统需求分析小组 组长:**** 组员:**** **** **** ****

目录 1 引言..................................................... 错误!未定义书签。 编写目的................................................. 错误!未定义书签。 背景..................................................... 错误!未定义书签。 定义..................................................... 错误!未定义书签。 参考资料................................................. 错误!未定义书签。 2 任务概述................................................... 错误!未定义书签。 目标..................................................... 错误!未定义书签。 用户的特点............................................... 错误!未定义书签。 假定和约束............................................... 错误!未定义书签。 3 用例分析(或数据流程分析) ................................... 错误!未定义书签。 系统Actor分析........................................... 错误!未定义书签。 系统用例描述............................................. 错误!未定义书签。 4 动态行为模型............................................... 错误!未定义书签。 5 系统流程分析............................................... 错误!未定义书签。 6 系统开发及运行环境规定..................................... 错误!未定义书签。 7 小结..................................................... 错误!未定义书签。

OpenCV下车牌定位算法实现

OpenCV下车牌定位算法实现代码(一) 车牌定位算法在车牌识别技术中占有很重要地位,一个车牌识别系统的识别率往往取决于车牌定位的成功率及准确度。 车牌定位有很多种算法,从最简单的来,车牌在图像中一般被认为是长方形,由于图像摄取角度不同也可能是四边形。我们可以使用OpenCV中的实例:C:\Program Files\OpenCV\samples\c.squares.c 这是一个搜索图片中矩形的一个算法。我们只要稍微修改一下就可以实现定位车牌。 在这个实例中使用了canny算法进行边缘检测,然后二值化,接着用cvFindContours搜索轮廓,最后从找到的轮廓中根据角点的个数,角的度数和轮廓大小确定,矩形位置。以下是效果图: 这个算法可以找到一些车牌位置,但在复杂噪声背景下,或者车牌图像灰度与背景相差不大就很难定位车牌。所以我们需要寻找更好的定位算法。下面是squares的代码: #ifdef _CH_ #pragma package #endif #ifndef _EiC #include "cv.h" #include "highgui.h" #include #include

#include #endif int thresh = 50; IplImage* img = 0; IplImage* img0 = 0; CvMemStorage* storage = 0; CvPoint pt[4]; const char* wndname = "Square Detection Demo"; // helper function: // finds a cosine of angle between vectors // from pt0->pt1 and from pt0->pt2 double angle( CvPoint* pt1, CvPoint* pt2, CvPoint* pt0 ) { double dx1 = pt1->x - pt0->x; double dy1 = pt1->y - pt0->y; double dx2 = pt2->x - pt0->x; double dy2 = pt2->y - pt0->y; return (dx1*dx2 + dy1*dy2)/sqrt((dx1*dx1 + dy1*dy1)*(dx2*dx2 + dy2*dy2) + 1e-10); } // returns sequence of squares detected on the image. // the sequence is stored in the specified memory storage CvSeq* findSquares4( IplImage* img, CvMemStorage* storage ) { CvSeq* contours; int i, c, l, N = 11; CvSize sz = cvSize( img->width & -2, img->height & -2 ); IplImage* timg = cvCloneImage( img ); // make a copy of input image IplImage* gray = cvCreateImage( sz, 8, 1 ); IplImage* pyr = cvCreateImage( cvSize(sz.width/2, sz.height/2), 8, 3 ); IplImage* tgray; CvSeq* result; double s, t; // create empty sequence that will contain points - // 4 points per square (the square's vertices) CvSeq* squares = cvCreateSeq( 0, sizeof(CvSeq), sizeof(CvPoint), storage ); // select the maximum ROI in the image // with the width and height divisible by 2 cvSetImageROI( timg, cvRect( 0, 0, sz.width, sz.height )); // down-scale and upscale the image to filter out the noise

基于matlab车牌的定位与分割识别程序概要

基于Matlab的车牌定位与分割 经典算法 I=imread('car.jpg'); %读取图像 figure(); subplot(3,2,1),imshow(I), title('原始图像'); I1=rgb2gray(I);%转化为灰度图像 subplot(3,2,2),imshow(I1),title('灰度图像'); I2=edge(I1,'robert',0.09,'both');%采用robert算子进行边缘检测subplot(3,2,3),imshow(I2),title('边缘检测后图像');

se=[1;1;1]; %线型结构元素 I3=imerode(I2,se); %腐蚀图像 subplot(3,2,4),imshow(I3),title('腐蚀后边缘图像'); se=strel('rectangle',[25,25]); 矩形结构元素 I4=imclose(I3,se);%图像聚类、填充图像 subplot(3,2,5),imshow(I4),title('填充后图像');

I5=bwareaopen(I4,2000);%去除聚团灰度值小于2000的部分subplot(3,2,6),imshow(I5),title('形态滤波后图像'); [y,x,z]=size(I5); I6=double(I5); Y1=zeros(y,1); for i=1:y for j=1:x

if(I6(i,j,1)==1) Y1(i,1)= Y1(i,1)+1; end end end [temp MaxY]=max(Y1); figure(); subplot(3,2,1),plot(0:y-1,Y1),title('行方向像素点灰度值累计和'),xlabel('行值'),ylabel('像素'); %求的车牌的行起始位置和终止位置 PY1=MaxY; while ((Y1(PY1,1)>=50)&&(PY1>1)) PY1=PY1-1; end PY2=MaxY; while ((Y1(PY2,1)>=50)&&(PY2

基于MATLAB的车牌定位算法设计

北京联合大学毕业设计(论文)任务书 题目:基于MATLAB的车牌定位算法设计 专业:电子工程系指导教师:章学静 学院:信息学院学号: 2009080403104 班级: 20090804031 姓名:林本存 一、课题的任务与目的 自从2010年以来,北京的交通拥堵问题成为社会普遍关注和谈论的话题。而其他交通问题也呈现增长趋势。由于车辆牌照是我们标定车辆的唯一ID,因此,车牌的定位识别对于处理突发的交通事件就显得尤为重要。车牌定位识别系统是近几年发展起来的计算机视觉和模式识别技术在智能交通领域应用的重要课题之一。所谓车牌定位(License Plate Location),就是把车牌区域完整的从一幅具有复杂背景的车辆图像中分割出来。它是进行车牌识别的首要任务和关键技术,能否将牌照的位置找出来,决定着车牌识别的后续工作能否继续进行,如果不能正确找到牌照的位置,那么就无法将它分割出来,字符分割和字符识别工作将无从谈起。同时,车牌定位的效率也直接影响着整个识别系统的效率,一个高效率的车牌识别系统首先必须是建立在高效的车牌定位算法的基础之上。因此,研究与开发车牌定位的算法具有十分重要的实用意义。例如,在公安执法系统、高速公路自动收费系统、城市道路监控系统、智能停车场管理系统等诸多智能交通系统中都有应用。车牌定位的目的是对摄像头获取的汽车图像进行预处理,确定车牌位置。 此次设计的任务就是在MATLAB中对采集到车辆图像进行色彩直方图分析,匹配车牌背景颜色的峰值从而实现车牌在图像位置中的定位。然后将此算法移植到DSP中,在DSP中验证移植的算法正确性。 二、调研资料情况 目前国外车牌定位识别系统已经有很多成熟的产品,以色列Hi—Tech公司的See/CarSystem系列,新加坡optasia公司的IMPS系列都是比较成熟的产品。但是,这些产品基本上只适合于自己国内的状况。而我国的情况与国外有很大的不同,比如车牌的形状,颜色,字符的颜色以及我国车牌中包含着汉字等。同时,目前的牌照识别系统具有一定的识别率,在天气条件差的情况下或夜晚时,识别率会明显下降,此外,也受到其他许多客观干扰的影响,例如天气、背景、车牌磨损、图像倾斜等。因此现有的识别系统要达到完全实用化仍然有很长的路要走。现有的比较好的车牌定位方法主要有J.Barroso等提出的基于水平线搜寻的定位

车牌定位方法

摘要: 车牌定位是车牌自动识别技术中的一个关键问题,许多学者研究发展多种车牌定位算法。简要介绍和比较了目前比较常见的几种车牌定位方法进行了。 车牌识别LPR(License Plate RecognitiON)技术作为交通管理自动化的重要手段和车辆检测系统的一个重要环节,能经过图像抓拍、车牌定位、图像处理、字符分割、字符识别等一系列算法运算,识别出视野范围内的车辆牌照号码;它运用数字图像处理、模式识别、人工智能技术对采集到的汽车图像进行处理,能够实时准确地自动识别出车牌的数字、字母及汉字字符,并以计算机可直接运行的数据形式给出识别结果,使得车辆的电脑化监控和管理成为现实。 车牌识别技术的任务是处理、分析摄取的视频流中复杂背景的车辆图像,定位、分割牌照字符,最后自动识别牌照上的字符。为了保证汽车车牌识别系统能在各种复杂环境下发挥其应有的作用,识别系统必须满足以下要求: (1)鲁棒性:在任何情况下均能可靠正常地工作,且有较高的正确识别率。 (2)实时性:不论在汽车静止还是高速运行情况下,图像的采集识别系统必须在一定时间内识别出车牌全部字符,达到实时识别。 车牌识别技术的关键在于车牌定位、字符分割和字符识别三部分,其中车牌定位的准确与否直接决定后面的字符分割和识别效果,是影响整个LPR系统识别率的主要因素,是车牌识别技术中最为关键的一步。目前车牌定位的方法多种多样, 归纳起来主要有基于纹理特征分析的方法、基于边缘检测的方法、基于数学形态学定位、基于小波分析定位以及基于彩色图像定位等,这些方法各有所长。 1、车牌目标区域特点 车牌定位方法的出发点是利用车牌区域的特征来判断牌照,将车牌区域从整幅车辆图像中分割出来。车牌自身具有许多的固有特征,这些特征对于不同的国家是不同的。从人的视觉角度出发,我国车牌具有以下可用于定位的特征: (1)车牌底色一般与车身颜色、字符颜色有较大差异; (2)车牌有一个连续或由于磨损而不连续的边框; (3)车牌内字符有多个,基本呈水平排列,在牌照的矩形区域内存在丰富的边缘,呈现规则的纹理特征; (4)车牌内字符之间的间隔较均匀,字符和牌照底色在灰度值上存在较大的跳变,字符本身和牌照底内部都有比较均匀的灰度; (5)不同图像中牌照的具体大小、位置不确定,但其长宽比在一定的变化范围内,存在1个最大值和1个最小值。 以上几种特征都是概念性的,各项特征单独看来都非车牌图像所独有,但将它们结合起来可以唯一地确定车牌。在这些特征中,颜色、形状、位置特征最为

车牌定位系统 实验报告

目录 目录 (1) 摘要 (2) 正文 (3) 1设计目的及要求 (3) 1.1 设计目的 (3) 1.2 设计要求 (3) 2设计原理 (3) 2.1 课题研究背景 (3) 2.2车牌的特征 (3) 2.3车牌识别系统的工作原理 (4) 2.4车牌识别系统的组成 (5) 3设计内容 (5) 3.1图像预处理 (5) 3.2车牌定位提取 (9) 3.3字符分割 (11) 3.4设计结果验证 (16) 总结 (19) 致谢 (20) 参考文献 (21) 附录 (22) 附录一 (22) 附录二 (28)

汽车牌照自动识别系统是近几年发展起来的计算机视觉和模式识别技术在智能交通领域应用的重要研究课题之一。在车牌自动识别系统中,首先要将车牌从所获取的图像中分割出来,这是进行车牌字符识别的重要步骤,定位准确与否直接影响车牌识别率。 本次课程设计首先对车牌识别系统的现状和已有的技术进行了深入的研究,在研究的基础上开发出一个基于MATLAB 的车牌识别系统,通过编写matlab程序,对各种车辆图像处理方法进行分析、比较,并提出了车牌预处理、车牌粗定位和精定位的方法。本次设计采取的是基于微分的边缘检测,先从经过边缘提取后的车辆图像中提取车牌特征,进行分析处理,从而初步定出车牌的区域,再利用车牌的先验知识和分布特征对车牌区域二值化图像进行处理,从而得到车牌的精确区域,并且取得了较好的定位结果。 关键字:识别率;车牌定位;二值化;边缘检测

1设计目的及要求 1.1 设计目的 运用MATLAB软件编程实现车牌定位检测 1.2 设计要求 1、利用matlab编程,能够清晰识别判断图像中的车牌区域 2、通过算法,将车牌上的数字字母清晰识别并且分割后读出 2设计原理 2.1 课题研究背景 随着21世纪经济全球化的到来,高速度、高效率的生活节奏,使车辆普及成为必然的趋势,交通管理自动化越来越成为亟待解决的问题。现代智能交通系统 (Intelligent Transportation System,ITS)中,车辆牌照识别(License Plate Recognition,LPR)技术是计算机视觉与模式识别技术在交通领域应用的重要研究课题之一,是实现交通管理能够智能化的重要环节,其任务是分析、处理汽车图像,自动识别汽车牌号。LPR系统中的两个关键子系统是车牌定位系统和车牌字符识别系统。现代化交通系统不断提高的快节奏,将对车牌定位的准确率和实时性提出更高的要求,因而进一步加深车牌定位的研究是非常有必要的。 2.2车牌的特征 (1)形状特征:标准的车牌外轮廓尺寸440*140,字符高90,宽45,字符间距12,间隔符宽10。整个字符的高宽比例近似为3:1,车牌的边缘是线段围成

汽车车牌定位识别概述

快速标牌定位识别 指导老师:洪占勇,王标 成员:刘超,纪奕博 合肥工业大学仪器科学与光电工程学院本科部 二〇一一年八月

摘要 智能交通管理系统已成为当前交通管理发展的重要方向, 作为智能交通系统关键部分的车牌识别系统,有着广泛的应用前景。但是,传统的车辆牌照识别大多是以计算机硬件平台和DSP处理器为核心来实现的,相比较而言,DSP适合串行算法,软件更改容易,开发难度低。而FPGA则适合并行算法,而且随着深亚微米FPGA技术的发展,FPGA 的容量以达到千万门级,运行速度远远高于目前最快的DSP,其应用的研究也越来越受到重视,但开发难度较高。但Xilinx公司所提供的系统级建模工具System Generator,在很多方面拓展了MathWorks公司的Simulink平台,提供了设个硬件设计的DSP建模环境,可以加速、简化FPGA的DSP系统级硬件设计,这也必将成为未来流行的FPGA开发技术之一。 本文首先介绍了车辆牌照定位识别的产生背景和基本概念,回顾了近年来国内外研究动态和现状。接着指出了牌照识别的重要性,在使用MathWorks公司的simulink平台的基础上搭建的System Generator 模型,提出了车辆牌照定位识别系统及其整体设计方案。在方案中,着重介绍了车牌定位识别的流程、算法及其在simulink平台上实现的过程,同时也详细介绍了系统软硬件接口的作用。方案中主要包括系统流程图,每个模块的主要功能和结构,数据处理的流程和算法,输入输出信号的说明以及关键的时序和状态。在文章的最后,给出了本系统算法中拟采用的System Generator模型和总结。 由于本系统利用了System Generator建模工具和MathWorks公司的

有效的车牌定位方法

车牌定位的一个有效方法 Danian Zheng *, Yannan Zhao, Jiaxin Wang 国家重点实验室智能技术与系统、计算机科学与技术系、 清华大学、北京100084、中国 摘要 车牌定位是机动车牌照自动识别运输系统的一个重要阶段。本文提供了一个实时和强劲车牌定位方法。车牌区域包含丰富的边缘和纹理信息。我们先用图像增强和Sobel算子提取出图象的垂直边缘, 然后用一个有效算法除去图像的大部分背景和噪声边缘, 最后在剩余边缘图像中利用一个矩形窗口搜索车牌区域并从原始图像中将车牌切割出来。实验结果表明,我们的方法有很强的鲁棒性和很高的效率。 _ 2005 Elsevier B.V. All rights reserved。 关键词:图像增强; 边缘检测; 长曲线和随机噪声的去除; 车牌定位和分割 1.引言 车牌识别成为当今许多自动交通管理系统如公路交通管理, 公路自动缴费和桥梁或停车场出入管制的关键技术。车牌定位是这项技术中非常必要和重要的一个阶段,它已引起了相当大的关注。 研究人员已经找到许多不同的方法定位车牌。 Rodolfo 和Stefano(2000)制定了一种基于矢量量化(VQ)的方法。矢量图像是基于一种特定的编码机制的四叉树,它可以提供给系统关于图像区域所包含内容的一些线索,这些信息有助于定位的实现。Park et al. (1999)使用神经网络定位车牌。神经网络可作为过滤分析图像的小窗口,判断每个窗口是否包含车牌,其输入为HIS值。一个后处理器将这些过滤图像合并起来并在图像中定位跳跃的车牌区域。除去神经网络,其他过滤方法也被研究过。例如,有些作者用线敏感过滤器提取车牌区域。可以确定车牌区域由很高密度的薄暗线或曲线。因此,车牌的定位是一个在图像中寻找包含由一个累积函数计算能得到的最大线过滤值的矩形区域的操作(Luis et al. 1999)。车牌字符可以直接通过对输入图像的扫描和寻找到图像中彼此不相连的部分来识别。如果发现有一些字符存在于一条直线上,那么他们所组成的部分 * Corresponding author。 Tel。: +86 10 62775613; fax: +86 10 62795871。 E-mail address: zdn02@mails。tsinghua。edu。cn (D。 Zheng)。 0167-8655/$ - see front matter _ 2005 Elsevier B。V。 All rights reserved。 doi:10。1016/j。patrec。2005。04。014

车牌识别技术浅析及定位算法

车牌识别技术浅析及算法代码 摘要:车牌定位、字符分割、字符识别是车牌识别的三个重要组成部分,是车 牌识别技术研究的重点,从这三个方面对车牌识别技术的发展和现状及车牌识别技术的应用进行了简要介绍。车牌定位是车牌识别技术的第一个关键技术,定位的准确与否直接影响着车牌识别的准确率。本文对目前存在的车牌定位算法进行简单探讨。 关键词:车牌识别技术;车牌定位;算法比较;字符分割;字符识别。 随着2l世纪经济全球化和信息时代的到来,计算机技术、通信技术和计算机网络技术迅猛发展,自动化的信息处理能力和水平不断提高,并在人们社会活动和生活的各个领域得到广泛应用,高速度、高效率的生活节奏,使汽车普及成为必然趋势。伴随着世界各国汽车数量的增加,城市交通状况日益受到人们的重视。如何有效地进行交通管理,越来越成为各国政府的相关部门所关注的焦点。针对这一问题,人们运行先进的信息处理技术、导航定位技术、无线通信技术、自动控制技术、图像处理和识别技术及计算机网络技术等科学技术,相继研发了各种交通道路监视管理系统、车辆控制系统及公共交通系统。这些系统将车辆和道路综合起来进行考虑,运行各种先进的技术解决道路交通的问题,统称为智能交通系统(Intelligent Tr ansportationSystem,简称ITS)。ITS是20世纪90年代兴起的新一代交通运输系统。它可以加强道路、车辆、驾驶员和管理人员的联系,实现道路交通管理自动化和车辆行驶的智能化,增强交通安全,减少交通堵塞,提高运输效率,减少环境污染,节约能源,提高经济活力。智能交通系统以车辆的自动检测作为信息的来源,因而对汽车牌照等相关信息的自动采集和处理的一门新的交通信息获取技术——车牌识别(License Plate Recognition,LPR技术逐渐发展起来,成为信息处理技术的一项重要研究课题。 1 车牌识别技术简介 车牌识别技术的研究最早出现在20世纪80年代,这个阶段的研究没有形成完整的系统体系,而是就某一具体的问题进行研究,通常采用简单的图像处理方法来解决。识别过程是使用工业电视摄像机(Industrial TV Camera)~]下汽车的正前方图像,然后交给计算机进行简单处理,并且最终仍需要人工干预进入2O世纪90年代后,随着计算机视觉Computer Vision Technology)的发展和计算机性能的提高,世界各国投入了大量的人力、物力进行汽车牌照识别系统的研究,时隔10多年,仍然没有一个成熟系统的识别率达到100%。20世纪90年代后期以后,随着全世界汽车数量的急剧增加,车牌识别技术的应用范围也越来越广,车牌识别技术己成为了一个热门的研究课题,人们对其进行了广泛的研究。车牌识别技术的任务是处理、分析摄取的视频。其中关键在于以下三部分:车牌定位、字符分割和字符识别。下面就从这三个方面对车牌识别技术的发展和现状进行简单介绍: (1)车牌定位方法 车牌图像往往是在复杂的环境中拍摄得到的,车牌由于与复杂的车身背景融为一体,由于车牌在使用中磨损与灰尘及拍摄仪器的影响以及由于拍摄角度的不

相关主题
文本预览
相关文档 最新文档