东北大学秦皇岛分校毕业设计(论文) 第 26 页
x=imclearborder(e,4); figure,imshow(x); x1=bwareaopen(x,2000); figure,imshow(x1);
图3.4 移除边界处理后的车牌图像
图3.5 清除噪点2000后的车牌图像
东北大学秦皇岛分校毕业设计(论文) 第 27 页
3.4.2 车牌区域的提取
提取候选区域的步骤是:首先对经过开闭运算处理的图像进行区域提取,并计算区域特征参数,然后根据车牌的先验知识对区域特征参数进行比较,提取车牌区域。本课题选择使用车牌的宽高范围和比例关系对车牌进行初步定位。
对车牌的区域提取可以利用regionprops函数,对图像每个区域进行标记,标记后如图3.6所示。代码如下:
[B,L]=bwboundaries(x1,4);
figure,imshow(label2rgb(L,@jet,[.5 .5 .5]))
1.231.290.510.210.131.130.970.760.721.21
图3.6 标记后的车牌图像
2007年实施的车牌标准规定,车前车牌长440mm,宽140mm。其长宽比例为440/140≈3.15。根据图像像素的大小,这里选取筛选条件为宽在50到150之间,高在20到50之间,同时宽高比例应大于0.45,就可以比较准确的得到车牌的大致位置。。然后计算每个区域图像特征参数:区域中心位置、最小包含矩形,面积。最后计算出包含所标记区域的最小矩形的宽和高。初步提取的车牌图像如图3.7所示。程序代码如下:
东北大学秦皇岛分校毕业设计(论文) 第 28 页
for k=1:length(B)
boundary=B{k};
delta_sq=diff(boundary).^2;
perimeter=sum(sqrt(sum(delta_sq,2))); area=stats(k).Area; metric=22*area/perimeter^2; metric_string=sprintf('%2.2f',metric);
if metric>=0.9&&metric<=1.1 centroid=stats(k).Centroid; plot(centroid(1),centroid(2),'ko'); goalboundary=boundary; s=min(goalboundary,[],1); e=max(goalboundary,[],1);
goal=imcrop(l,[s(2) s(1) e(2)-s(2) e(1)-s(1)]); end
text(boundary(1,2)-35,boundary(1,1)+13,metric_string,'Color','g','FontSiz
e',14,'FontWeight','bold');
end
figure,imshow(goal),title('初步定位');
图3.7 初步提取的车牌图像
东北大学秦皇岛分校毕业设计(论文) 第 29 页
4. 车牌字符分割算法的研究
4.1 传统的字符分割算法分析
字符分割往往是根据字符的基本特征来预先定义目标,往往仅仅对图像中的某些部分感兴趣。为了辨别和分析,所以,需要将它们分离出来,在此基础上才能对目标进行下一步的分析。现在的分割算法有很多,分类方法也有很多种,比较常用的算法是基于图像相邻像素在像素值方面的两个性质基础上实现的。所以,通常应用于字符分割方面的算法有以下几类[17]:
(1)直接分割法 直接分割法最为常见的是垂直投影分割方法。垂直投影分割方法主要是利用字符在垂直方向上的投影完成的。而且,垂直投影分割方法主要是以二值化后的图像为基础上实现的。首先,应将车牌的灰度图像二值化。二值化后的图像像素值只有两个值,白色的像素值是1,黑色的像素值是0。然后我们取得字符间距局部的最小值。这个字符间距是通过计算车牌每个字符间的距离得出的。将作为分割字符的字符尺寸限制值。接着我们就做垂直投影。因为字符之间的部分为黑色,灰度值都为0。所以,做垂直投影后,投影处的值也为0。而字符部分的投影就会是形成曲线。所以,我们根据字符间距的大小就可以完成字符的分割。
从二值化后的图像我们可以看出,如果对图像做垂直投影的话,字符区域的像素值变化较为明显,会形成一定的曲线,而在字符间距的区域,像素值的变化就较弱,同时在投影后会存在噪声的干扰,所以在进行分割之前我们一般要去除噪声的干扰,而大部分的干扰来自车牌区域的边框和铆钉。而边框和铆钉的内部灰度值为 1。这在做垂直投影的时候,会给分割造成干扰。所以,在做垂直投影前,一般都要去除边框和铆钉。直接分割法相对来说比较简单,但是在分割时受到的干扰噪声影响较大,导致分割不够准确。
(2)基于识别基础的分割法 基于识别基础的分割法,是以分割为目的,而将识别作为基础,二者是结合在一起使用的。我们先对待分割的图像进行识别,然后通过识别结果对图像进行分割。所以,识别的准确性直接影响到分割结果。这样,基于识别基础的分割算法使用起来的准确性很难保证。
东北大学秦皇岛分校毕业设计(论文) 第 30 页
(3)自适应分割线聚类法 自适应分割线聚类法首先需要建立一个分类器,分类器要进行训练来完成对图像的分割。首先,我们先设图像中的每一列为定义的分割线。然后使用分类器对分割线进行判断。但是,如果字符之间有粘连或者断裂,而且对这样的字符训练是很困难的。所以,这类方法的使用是很有局限性的,算法的运算量很大,比较复杂。
这几种是目前字符分割中常用的算法,从分析中可知,这几种算法往往受环境和图像质量的干扰较大。所以,对字符分割算法分割进行改进也是字符识别过程中的研究重点。
4.2 字符分割算法中的问题分析
我们拍摄的图像往往会受到一些不定的因素影响,例如,摄像机的摆放角度偏移。这样我们拍摄的图片往往会产生在某一方向上的倾斜。从我们提取到得车牌区域的图像就可以看出,该图像发生了水平方向上的倾斜。这样对我们的分割就造成了影响。这是字符分割中的第一个常见问题,就是字符倾斜的问题。另外一个问题是在实际应用中,一般车牌都容易受污斑和掉落等因素影响,这样车牌会有较大的噪声干扰。这样就会给待分割的字符造成相互粘连或者是字符边缘模糊等问题。这样会严重的影响分割效果。所以,车牌倾斜校正和去除噪声,一直是字符分割普遍且所要解决的问题。
4.3 本文研究的字符分割算法
针对车牌字符分割中常见的问题,本文研究的字符分割算法主要分为两个部分:车牌精确定位和字符分割算法。 4.3.1 车牌精确定位
根据形态学处理得到的车牌区域,只是初步定位,车牌字符的外围还有许多影响识别的内容,这时需要我们将其去除,进而进行进一步的精确定位。
字符的外围一般还带有白色边框,初步定位后,白色边框与图片的边界相连,这时,调用matlab中的imclearborder指令,将此白色矩形边框去除。去除边框后如图4.1所示。程序如下:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于matlab图像处理的车牌识别研究(7)在线全文阅读。
相关推荐: