一种基于行分割线的黄色双行车牌字符分割方法与流程

文档序号:16309656发布日期:2018-12-19 05:13阅读:1131来源:国知局
一种基于行分割线的黄色双行车牌字符分割方法与流程

本发明涉及智能交通技术领域,具体是一种基于行分割线的黄色双行车牌字符分割方法,它首先定位得到双行车牌的行分割线,进而通过车牌字符投影和字符连通域分析确定双行车牌的行分界线与各字符具体位置,最终按区域最大和字符等距双重准则,准确分割出车牌字符的方法。

背景技术

近年来,随着交通网越扩越大,车辆安全问题愈发凸显其重要性。车牌作为车辆最重要的标识,如何对其进行有效的识别一直都是一个研究热题。车牌字符分割是车牌识别的前提,字符切割的准确与否直接影响到识别结果。随着图像处理技术的不断发展,多种车牌字符分割方法被提出:字符投影法,字符模板匹配法和字符连通域法。

投影法针对车牌二值图像,该方法根据车牌图像像素值的行跳变与列跳变情况确定具体的车牌字符位置。使用该方法的有:蒋肖(基于投影法与字符特征的车牌字符分割算法[j].无线互联科技,2012(4):146-147.),闫兵(改进的基于投影的车牌字符分割算法[j].通信技术,2010,43(5):184-186.)等。对于单行车牌,统计车牌二值图中每列像素中白色像素点个数作为纵坐标值,列序号为横坐标值,再将所有点连接得到具有明显波峰波谷的折线图,这便是车牌二值图的垂直投影图。通过垂直投影图,容易确定各字符边界从而将其分割出来。但是对于双行车牌,两行的垂直投影图会相互干扰,最终使得车牌字符难以分割。

基于模板匹配的车牌字符分割是一种常用的算法,如陈寅鹏(复杂车辆图像中的车牌定位与字符分割方法[j].红外与激光工程,2004,33(1):29-33.),苑玮琦(一种基于汉字结构特征的车牌照字符分割方法[j].仪器仪表学报,2003,24(z2):472-474.)等。该算法设计一个字符宽度的模板和一个字符间隔宽度的模板,通过在窗口中滑动,当字符模板内的像素值之和与间隔模板内的像素值之和比值达到最小时,找到字符分割点。相比于投影法,利用了车牌的先验知识,有效解决了车牌污损、字符断裂、粘连等问题,但需要提前知道车牌字符宽度,对定位要求高(当车牌边框去除情况不佳时,容易将边框认为时字符),而且效率较低。

字符连通域法针对车牌二值图,该方法主要利用车牌字符与背景差异明显,字符具有单独连通域的情况,根据字符轮廓确定车牌字符位置。使用该方法的有:甘玲(基于连通域提取的车牌字符分割算法[j].计算机仿真,2011,28(4):336-339.)结合车牌字符大小相对固定、车牌某些字符位置相对固定的先验知识,可以解决部分车牌字符断裂、车牌具有一定倾斜度以至于投影法不能准确分割字符的情况。不管是单行车牌还是双行车牌,车牌字符轮廓一般都能确定下来,该方法不需要区分处理对象是单行或者双行。但是,该方法对车牌的要求较高,在车牌字符粘连或者断裂的情况下,该方法容易失效,因此并不适用于含有汉字的中国车牌。

因此,有学者提出综合水平投影、垂直投影和字符连通域的方法分割车牌字符,如李东新(基于投影和连通域法的双行结构车牌字符分割方法:cn,cn103400133a[p].2013.)。首先通过水平投影确定双行车牌的行分界线,将双行结构处理问题分解成单行结构处理问题,对单行结构的处理,先计算竖直方向的投影,确定左右边界,再在边界内计算连通域,对于宽度较大的连通域,则基于得到的投影进行进一步切分。这种方法简单易懂,但是并不总能找到行分割线。而且实际情况下黄色双行车牌通常有一定程度的污损或者被阴影所干扰,尤其是双行结构的第一行。

在国内,大型汽车后牌照、挂车号牌为黄底黑字双行车牌,这类车辆是交通拥堵,交通违规和交通事故的常客,因此提高黄色双行车牌的字符识别准确率意义重大。在实际场景中,双行车牌的字符分割存在诸多难题,如字符粘连、断裂、形变,车牌污损,车牌倾斜和车牌上残留阴影等。现有的方法(主要包括投影法和字符连通域法)应用于清晰的单行车牌能取得不错的效果,但是单独使用仍旧难以有效地解决实际应用中双行车牌字符的分割问题。而联合使用投影法和连通域法则增大计算开销。

对一张待处理的黄色车牌图像,首先要明确当前车牌是单行还是双行,由于国内车牌规格的多样性,单双行车牌需要用不同的分割方法进行分割。行分割线和车牌的宽高比都是单双行车牌的重要区分标志,前者在车牌倾斜、污损时难以确定具体位置,后者对车牌定位提出了高的要求。



技术实现要素:

为克服现有技术的上述缺点,本发明的目的在于提供一种基于行分割线的黄色双行车牌字符分割方法。

所述的一种基于行分割线的黄色双行车牌字符分割方法,其特征在于包含如下步骤:

步骤1:将定位得到的车牌图像归一化到固定尺寸w*h,其中w表示图像宽度,h表示图像高度,单位均为像素;

步骤2:对车牌图像依次进行灰度化、灰度拉伸、中值滤波、otsu二值化、水平倾斜矫正和垂直倾斜矫正,得到车牌二值图像记为i,并将图像i在像素坐标(x,y)处的灰度值记为i(x,y);

步骤3:对图像i,定位双行车牌的行分割线,具体步骤为:

步骤3.1:设定图像感兴趣区域,具体如下:在图像i中选取定位行分割线的感兴趣区域r(x1,y1,x2,y2),其中,(x1,y1)表示区域r左上角坐标,(x2,y2)表示区域r右下角坐标;

步骤3.2:基于感兴趣区域r计算图像的水平投影,得到集合h={xi|i=1,2,3…,n},其中,xi表示第i行的白色像素点个数,n表示投影区域的行数,即n=y2-y1;

步骤3.3:从集合h中定位行分割线,具体如下:首先根据公式(1)计算得到所有的波谷集合v={(lj,rj)|j=1,2,…,m};从波谷集合v中挑选出符合式(2)的λ个波谷构成的集合b={(lj,rj)|j=1,2,…,λ},若集合则定位行分割线失败,跳转步骤8),否则根据公式(3)将集合b中元素一一映射到集合y={li|i=1,2,…,λ},然后根据公式(4)从y中选出使dec取最小值的元素作为行分割线lcut;

tmin<|rj-lj|<tmax,j=1,2,...,m(2)

dec=|lj-hcut|,j=1,2,...,λ(4)

其中,tbg表示波谷阈值,xk为集合h中第k个元素,lj表示波谷j的左边界,rj表示波谷j的右边界,tmin表示波谷最小宽度,tmax表示波谷最大宽度,lj表示集合b中第j个元素对应的分割线表达式,hcut表示水平分割线位置的经验值,dec表示集合y中第j个元素与水平分割线经验值的误差;

步骤4:对图像i进行黄色双行车牌字符粗分割,具体步骤为:

步骤4.1:在图像i的上下左右边界位置分别添加s个像素的黑色掩膜,得到图像g;再根据步骤3中得到的行分割线lcut将g分为上下两部分,分别为gup和gdown,用wu和hu分别表示gup的宽和高,用wd和hd分别表示gdown的宽和高;

步骤4.2:对gdown进行形态学开运算,然后提取图像中所有满足条件的连通域,按序构建由其最小外接矩形所组成的集合c;

步骤4.3:预处理集合c中的元素,得到车牌下半部分的粗分割字符集合,具体如下:循环遍历c中所有的元素,记recti和recti+1为两相邻元素,若满足下列条件之一:1)|recti.x-recti+1.x|<β;2)|recti+1.x-recti.x|<β;3)|recti.y+recti.h-recti+1.y|<β;4)|recti+1.y+recti+1.h-recti.y|<β,则将二者合并为一个元素,将合并后元素的最小外接矩形加入到新的集合c1,直到集合c1的元素个数不再增加,记c1={cj|j=1,2,…,nc1};其中,nc1表示c1中的元素个数,β表示断裂阈值;

步骤4.4:计算得到车牌上半部分的粗分割字符集合,具体如下:首先用k5x5卷积核对gup进行形态学闭运算,然后基于感兴趣区域r2(x3,y3,x4,y4)对gup计算竖直投影,接着利用与步骤3相同的原理寻找投影图中的波峰及其左右边界,然后取波峰宽度作为元素宽度,取高度为1,得到集合c2={cj|j=1,2,…,nc2},若nc2=0,则跳转步骤8);若nc2=1,则跳转步骤6);否则,按序执行步骤5);其中,nc2表示c2中的元素个数,k5x5表示卷积核尺寸为5×5,(x3,y3)表示区域r2左上角坐标,(x4,y4)表示区域r2右下角坐标;

步骤5:利用字符等间距准则,对粗分割结果c1和c2进行调优,具体步骤为:

步骤5.1:过滤上行车牌字符集合c2,具体如下:记c1所有元素的最小左边界和最大有边界分别为lc1,rc1;若nc2=2,将c2中的元素加入到集合c3中;根据公式(5),从c2中选出使dis<td的所有元素对(ci,cj),构成新的集合pair={(ci,cj)|1≤i<j≤nc2},然后根据公式(6),将使mo取最小值的(ci,cj)加入到集合c3中;若c3为空集,则跳转步骤8),否则,继续执行步骤5.2);

其中,ci和cj为集合c2的元素,且1≤i<j≤nc2,nc2表示c2中的元素个数;

步骤5.2:过滤下行车牌字符集合c1,具体如下:集合c3中有且仅有两个元素矩形框,计算两矩形框的形心po1和po2,连接po1和po2得到连线段lc,记线段lc中点为pu,长度为du,过po1和po2分别作两条垂线lul和lur,过lc作中垂线lu;对集合c1,首先找到与lu相交的所有元素,将其加入到集合c4中,记集合c4的元素个数为nc4,若nc4=0,则跳转步骤8),否则,继续执行下面的操作;接着找到与lul和lur相交的左顶点纵坐标较小的元素,将其加入到集合c4中,若nc4=1或nc4>2,则跳转步骤8);若nc4=2,则以集合c4的第一个元素矩形框rc41的形心pc41为对称中心,生成另一个元素rc42的对称元素rc43,并将rc43加入集合c4;然后分别以rc42和rc43为中心,生成第一个元素rc41的对称元素rc44和rc45;若rc44或rc45与集合c1中的所有元素矩形无重叠部分,则跳转步骤8),否则将rc44与rc45加入到集合c4;

步骤5.3:对二次分割结果c3和c4执行归一化操作,具体如下:首先,对集合c4,按去掉一个最小值和一个最大值的策略,分别计算得到c4中剩余元素矩形的平均宽度与高度接着,对c4中每一个元素矩形ci,以元素矩形框中心点为标准,分别向上下扩展向左右扩展得到新矩形用新生成的矩形代替原矩形ci;然后,对集合c3,按由黄色双行车牌规格推导得到的公式(7),计算得到第一行车牌字符的宽度与高度最后,对c4中所有元素矩形,以元素矩形框中心点为标准,分别向上扩展向左右扩展用新生成的矩形代替原矩形,跳转到步骤7);

步骤6:在步骤4.4)粗分割失败的情况下,更换分割策略,首先对gdown的分割结果进行调整,然后重定位gup中的字符,得到集合c7={od1,od2};

步骤7:利用区域最大准则完成最终分割,具体如下:定义集合cu为集合c3和c7中非空的集合,cd为集合c4和c6中非空的集合;首先取image=gup,对基于cou得到集合csu={ci|ci.x=cou.x+2*(i-5)&&ci.y=cou.y+2(i-5)&&ci.w=cou.w&&ci.h=cou.h,i=1,2,…,9};对所有cnu∈csu,将cnu代入式(12)中的roi,计算得到对应的pw;选择使得pw取最大值的cnu替换原集合cu中的cou;然后取image=gdown,对基于cod得到集合csd={ci|ci.x=cod.x+2*(i-3)&&ci.y=cod.y+2(i-5)&&ci.w=cou.w&&ci.h=cou.h,i=1,2,…,9};对所有cnd∈csd,将cnd代入式(11)中的roi,计算得到对应的pw;选择使得pw取最大值的cnd替换原集合cd中的cod;

其中,copy(image,roi)表示从image裁剪roi区域,得到iroi子图,iroi.w和iroi.h分别表示子图iroi的宽和高,nzc(iroi)表示对图像iroi统计非零像素点个数,pw表示子图iroi得中非零像素占比;

步骤8:取最终字符分割结果集合cf=cu∪cd,若或者cf集合元素个数不等于7,则分割失败,否则按集合cf裁剪g上对应的子图,得到字符分割结果。

所述的一种基于行分割线的黄色双行车牌字符分割方法,其特征在于步骤4.2)中的按序构建由其最小外接矩形所组成的集合c的具体过程如下:找到所有字符连通域的最小外接矩形,构成集合c={ci|i=1,2,…,nc},集合c必须满足条件:1)ta<area(ci)<w*h/10;2)集合内元素按ci.x从小到大排序;ci.x,ci.y,ci.w和ci.h分别表示c中第i个最小外接矩形ci的左上角横坐标、左上角纵坐标、宽度和高度,ta表示字符矩形最小面积,area(ci)表示ci的面积。

所述的一种基于行分割线的黄色双行车牌字符分割方法,其特征在于步骤6中的更换分割策略得到集合c7={od1,od2},具体步骤如下:

步骤6.1:首先用k3x3卷积核对gdown进行形态学闭运算,然后基于感兴趣区域r3(x5,y5,x6,y6)对gdown计算竖直投影,接着在去掉最小高度和最大高度后计算集合c1中元素的平均高度再利用与步骤3)相同的原理寻找投影图中的波峰及其左右边界,然后取波峰左边界为元素矩形左上角横坐标,取0为元素矩形左上角纵坐标,取波峰左右边界截距作为元素矩形的宽度,取为元素矩形的高度,得到集合c5={cj|j=1,2,…,nc5};其中,(x5,y5)表示区域r3左上角坐标,(x6,y6)表示区域r3右下角坐标;

步骤6.2:若nc1<nc5,遍历集合c1与集合c5的元素,按公式(8)整合得到集合c6={ci|i=1,2,…,nc6};若nc1≥nc5,c6=c1;

其中,∩运算表示取两矩形区域的重叠部分矩形;

步骤6.3:将集合c6调整到nc6=5,具体如下:若nc6<5,根据现有元素矩形的间距,向集合c6插入新元素矩形,插入的约束条件如下:1)各元素矩形不重叠;2)元素矩形不超出图像边界;3)有多种插值方案时,选取插入后构成的五个矩形区域总面积占比最大的一种;4)新插入的元素矩形高度为现有元素的平均值;5)新插入的元素矩形宽度为现有元素的平均值;若nc6>5,计算元素左边界最小值和右边界最大值和平均高度,按公式(9)生成5个等宽高的新元素重新构建集合c6={b1,b2,b3,b4,b5};

其中,d表示字符区域的等分间距,lm表示c6所有元素矩形的最小左边界,rm表示c6所有元素矩形的最大右边界,havg表示集合c6内所有元素矩形的平均高度,rtg(p1,p2,p3,p4)用于矩形的记法,p1、p2、p3和p4从依次表示矩形框的左上角横坐标、左上角纵坐标、宽度和高度,bi表示一个矩形元素;

步骤6.4:基于集合c6构建第一行字符集合c7,具体如下:首先,对集合c6,按去掉一个最小值和一个最大值的策略,计算得到c6中剩余元素的平均宽度与高度接着,对c6中所有元素矩形,以元素矩形框中心点为标准,分别向上下扩展向左右扩展用新生成的矩形代替原矩形;然后利用公式(10)和(11)计算得od1和od2并加入新的集合c7,即c7={od1,od2}:

其中,od1和od2分别表示两个字符的最小外接矩形,co2和co4分别表示集合c6的第2和第4个元素。

本发明的优点是:本发明充分考虑字符断裂、粘连问题,能有效利用黄色双行车牌的先验知识,尤其是上下行结构信息,在字符等距准则下,综合调整上行车牌字符定位结果与下行车牌字符定位结果,在区域最大准则下实现分割结果微调,最终完成实际场景中黄色双行车牌的字符分割任务,对在污损车牌具有鲁棒性。

附图说明

图1为本发明的经过步骤1处理的黄色双行车牌图像;

图2为本发明的经过步骤2处理的黄色双行车牌图像;

图3为本发明的经过步骤3.2处理的车牌局部水平方向投影图像;

图4为本发明的经过步骤4.2处理的车牌下半部分字符轮廓定位图像;

图5为本发明的经过步骤4.4处理的车牌上半部分局部竖直方向投影图像;

图6为本发明的经过步骤7处理的车牌字符定位图像;

图7为本发明的经过步骤8处理的最终车牌字符切割结果图像。

具体实施方式

下面结合实施例来详细阐述本发明的基于行分割线的黄色双行车牌字符分割方法的具体实施方式。

本发明的基于行分割线的黄色双行车牌字符分割方法,包括如下步骤:

步骤1:将定位得到的车牌图像归一化到固定尺寸w*h,其中w表示图像宽度,h表示图像高度,单位均为像素,如图1所示;在本实例中w=220,h=110;

步骤2:对车牌图像依次进行灰度化、灰度拉伸、中值滤波、otsu二值化、水平倾斜矫正和垂直倾斜矫正,得到车牌二值图像记为i,并将图像i在像素坐标(x,y)处的灰度值记为i(x,y),如图2所示;

步骤3:对图像i,定位双行车牌的行分割线,具体步骤为:

步骤3.1:设定图像感兴趣区域(regionofinterests,roi),具体如下:在i中选取定位行分割线的感兴趣区域r(x1,y1,x2,y2),其中,(x1,y1)表示区域r左上角坐标,(x2,y2)表示区域右下角坐标;在本实例中,

步骤3.2:基于感兴趣区域r计算图像的水平投影,如图3所示,得到集合h={xi|i=1,2,3…,n},其中,xi表示第i行的白色像素点个数,n表示投影区域的行数,即n=y2-y1;

步骤3.3:从集合h中定位行分割线,具体如下:首先根据公式(1)计算得到所有的波谷集合v={(lj,rj)|j=1,2,…,m};从v中挑选出符合式(2)的λ个波谷构成的集合b={(lj,rj)|j=1,2,…,λ},集合v的元素个数为m,集合b为满足公式(2)的集合v的子集,集合b的元素个数记λ;若集合则定位行分割线失败,跳转步骤8),否则根据公式(3)将集合b中元素一一映射到集合y={li|i=1,2,…,λ},以垂直投影直方图为例(实际上这里是求水平投影直方图,目的是通过波谷定位双行车牌的行分割线):每个波谷都由左右边界构成,即(lj,rj),而通过公式(3)即得到波谷的中心位置。因为这是基于roi区域的,所以公式(3)中加上了y1;然后根据公式(4)从y中选出使dec取最小值的元素作为行分割线lcut;

tmin<|rj-lj|<tmax,j=1,2,...,m(2)

dec=|lj-hcut|,j=1,2,...,λ(4)

其中,tbg表示波谷阈值,xk为集合h中第k个元素,lj表示波谷j的左边界,rj表示波谷j的右边界,tmin表示波谷最小宽度,tmax表示波谷最大宽度,lj表示集合b中第j个元素对应的分割线表达式,hcut表示水平分割线位置的经验值,dec表示集合y中第j个元素与水平分割线经验值的误差;在本实例中,tbg=h/10,tmax=30,tmin=3,hcut=0.4*h;

步骤4:对i进行黄色双行车牌字符粗分割,具体步骤为:

步骤4.1:在i的上下左右边界位置分别添加s个像素的黑色掩膜,得到图像g;再根据上一步骤中得到的行分割线lcut将g分为上下两部分,分别为gup和gdown,用wu和hu分别表示gup的宽和高,用wd和hd分别表示gdown的宽和高;

步骤4.2:对gdown进行形态学开运算,然后提取图像中所有满足条件的连通域,按序构建由其最小外接矩形所组成的集合,如图4所示,具体如下:找到所有字符连通域的最小外接矩形,构成集合c={ci|i=1,2,…,nc},集合c必须满足条件:1)ta<area(ci)<w*h/10;2)集合内元素按ci.x从小到大排序;ci.x,ci.y,ci.w和ci.h分别表示c中第i个最小外接矩形ci的左上角横坐标、左上角纵坐标、宽度和高度,下文出现的ci.x,ci.y,ci.w和ci.h均具有相同含义,ta表示字符矩形最小面积,area(ci)表示ci的面积;在本实例中,ta=100;

步骤4.3:预处理集合c中的元素,得到车牌下半部分的粗分割字符集合,具体如下:循环遍历c中所有的元素,记recti和recti+1为两相邻元素,若满足下列条件之一:1)|recti.x-recti+1.x|<β;2)|recti+1.x-recti.x|<β;3)|recti.y+recti.h-recti+1.y|<β;4)|recti+1.y+recti+1.h-recti.y|<β,则将二者合并为一个元素,将并包含者的最小外接矩形加入到新的集合c1,直到集合c1的元素个数不再增加,记c1={cj|j=1,2,…,nc1};其中,nc1表示c1中的元素个数,β表示断裂阈值;在本实例中,

步骤4.4:计算得到车牌上半部分的粗分割字符集合,具体如下:首先用k5x5卷积核对gup进行形态学闭运算,然后基于感兴趣区域r2(x3,y3,x4,y4)对gup计算竖直投影,如图5所示,接着利用与步骤3)相同的原理寻找投影图中的波峰及其左右边界,然后取波峰宽度作为元素宽度,取高度为1,得到集合c2={cj|j=1,2,…,nc2},若nc2=0,则跳转步骤8;若nc2=1,则跳转步骤6);否则,按序执行步骤5);其中,nc2表示c2中的元素个数,k5x5表示卷积核尺寸为5×5,(x3,y3)表示区域r2左上角坐标,(x4,y4)分别表示区域右下角坐标;在本实例中,y4=hu;

步骤5:利用字符等间距准则,对粗分割结果c1和c2进行调优,具体步骤为:

步骤5.1:过滤上行车牌字符集合c2,具体如下:记c1所有元素的最小左边界和最大有边界分别为lc1,rc1;若nc2=2,将c2中的元素加入到集合c3中;根据公式(5),从c2中选出使dis<td的所有元素对(ci,cj),构成新的集合pair={(ci,cj)|1≤i<j≤nc2},然后根据公式(6),将使mo取最小值的(ci,cj)加入到集合c3中;若c3为空集,则跳转步骤8),否则,继续执行步骤5.2);

其中,ci和cj为集合c2的元素,且1≤i<j≤nc2,nc2表示c2中的元素个数;

步骤5.2:过滤下行车牌字符集合c1,具体如下:集合c3中有且仅有两个元素矩形框,计算两矩形框的形心po1和po2,连接po1和po2得到连线段lc,记线段lc中点为pu,长度为du,过po1和po2分别作两条垂线lul和lur,过lc作中垂线lu;对集合c1,首先找到与lu相交的所有元素,将其加入到集合c4中,记集合c4的元素个数为nc4,若nc4=0,则跳转步骤8);接着找到与lul和lur相交的左顶点纵坐标较小的元素,将其加入到集合c4中,若nc4=1或nc4>2,则跳转步骤8,否则,继续执行下面的操作;若nc4=2,则以集合c4的第一个元素矩形框rc41的形心pc41为对称中心,生成另一个元素rc42的对称元素rc43,并将rc43加入集合c4;然后分别以rc42和rc43为中心,生成第一个元素rc41的对称元素rc44和rc45;若rc44或rc45与集合c1中的所有元素矩形无重叠部分,则跳转步骤8,否则将rc44与rc45加入到集合c4;

步骤5.3:对二次分割结果c3和c4执行归一化操作,具体如下:首先,对集合c4,按去掉一个最小值和一个最大值的策略,分别计算得到c4中剩余元素矩形的平均宽度与高度接着,对c4中每一个元素矩形,以元素矩形框中心点为标准,分别向上下扩展向左右扩展得到新矩形用新生成的矩形代替原矩形ci(根据任何一个矩形都由左上角横坐标、纵坐标、宽度和高度唯一确定,新矩形以原矩形ci的形心为原点,向上下左右四个方向外扩得到,实现矩阵的标准归一化);然后,对集合c3,按由黄色双行车牌规格推导得到的公式(7),计算得到第一行车牌字符的宽度与高度最后,对c4中所有元素矩形,以元素矩形框中心点为标准,分别向上扩展向左右扩展用新生成的矩形代替原矩形,跳转到步骤7);

步骤6:在步骤4.4)粗分割失败的情况下,更换分割策略,首先对gdown的分割结果进行调整,然后重定位gup中的字符,得到集合c7={od1,od2},具体如下:

步骤6.1:首先用k3x3卷积核对gdown进行形态学闭运算,然后基于感兴趣区域r3(x5,y5,x6,y6)对gdown计算竖直投影,接着在去掉最小高度和最大高度后计算集合c1中元素的平均高度再利用与步骤3相同的原理寻找投影图中的波峰及其左右边界,然后取波峰左边界为元素矩形左上角横坐标,取0为元素矩形左上角纵坐标,取波峰左右边界截距作为元素矩形的宽度,取为元素矩形的高度,得到集合c5={cj|j=1,2,…,nc5};其中,(x5,y5)表示区域r3左上角坐标,(x6,y6)表示区域r3右下角坐标;在本实例中,y6=hd;

步骤6.2:若nc1<nc5,遍历集合c1与集合c5的元素,按公式(8)整合得到集合c6={ci|i=1,2,…,nc6};若nc1≥nc5,c6=c1;

其中,∩运算表示取两矩形区域的重叠部分矩形;

步骤6.3:将集合c6调整到nc6=5,具体如下:若nc6<5,根据现有元素矩形的间距,向集合c6插入新元素矩形,插入的约束条件如下:1)各元素矩形不重叠;2)元素矩形不超出图像边界;3)有多种插值方案时,选取插入后构成的五个矩形区域总面积占比最大的一种;4)新插入的元素矩形高度为现有元素的平均值;5)新插入的元素矩形宽度为现有元素的平均值;若nc6>5,计算元素左边界最小值和右边界最大值和平均高度,按公式(9)生成5个等宽高的新元素重新构建集合c6={b1,b2,b3,b4,b5};

其中,d表示字符区域的等分间距,lm表示c6所有元素矩形的最小左边界,rm表示c6所有元素矩形的最大右边界,havg表示集合c6内所有元素矩形的平均高度,rtg(p1,p2,p3,p4)用于矩形的记法,p1、p2、p3和p4从依次表示矩形框的左上角横坐标、左上角纵坐标、宽度和高度,bi表示一个矩形元素;

步骤6.4:基于集合c6构建第一行字符集合c7,具体如下:首先,对集合c6,按去掉一个最小值和一个最大值的策略,计算得到c6中剩余元素的平均宽度与高度接着,对c6中所有元素矩形,以元素矩形框中心点为标准,分别向上下扩展向左右扩展用新生成的矩形代替原矩形;然后利用公式(10)和(11)计算得od1和od2并加入新的集合c7,即c7={od1,od2}:

其中,od1和od2分别表示两个字符的最小外接矩形,co2和co4分别表示集合c6的第2和第4个元素;

步骤7:利用区域最大准则完成最终分割,如图6所示,具体如下:定义集合cu为集合c3和c7中非空的集合,cd为集合c4和c6中非空的集合;首先取image=gup,对基于cou得到集合csu={ci|ci.x=cou.x+2*(i-5)&&ci.y=cou.y+2(i-5)&&ci.w=cou.w&&ci.h=cou.h,i=1,2,…,9};对所有cnu∈csu,将cnu代入式(12)中的roi,计算得到对应的pw;选择使得pw取最大值的cnu替换原集合cu中的cou;然后取image=gdown,对基于cod得到集合csd={ci|ci.x=cod.x+2*(i-3)&&ci.y=cod.y+2(i-5)&&ci.w=cou.w&&ci.h=cou.h,i=1,2,…,9};对所有cnd∈csd,将cnd代入式(11)中的roi,计算得到对应的pw;选择使得pw取最大值的cnd替换原集合cd中的cod;

其中,copy(image,roi)表示从image裁剪roi区域,得到iroi子图,iroi.w和iroi.h分别表示子图iroi的宽和高,nzc(iroi)表示对图像iroi统计非零像素点个数,pw表示子图iroi得中非零像素占比;

步骤8:取最终字符分割结果集合cf=cu∪cd,若或者cf集合元素个数不等于7,则分割失败,否则按集合cf裁剪g上对应的子图,得到字符分割结果,如图7所示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1