一种用于版面分析中的连通区域提取方法及装置的制作方法

文档序号:6460904阅读:173来源:国知局

专利名称::一种用于版面分析中的连通区域提取方法及装置的制作方法
技术领域
:本发明涉及一种用于版面分析中的连通区域提取方法,本发明还涉及一种用于版面分析中的连通区域提取装置。
背景技术
:如图1所示,名片识别的流程一般依次包括输入名片扫描图像、预处理、版面分析、字符识别、后录入处理和输出。其中预处理包括将图像二值化和分离文字、图像;版面分析包括连通区域提取、连通区域合并、版面理解。其中,连通区域提取是版面分析中的一个非常重要的步骤。连通区域的提取就是从白色像素和黑色像素组成的二值化点阵图像中,根据像素之间的连通性将相互连通的黑色像素集合或者白色像素集合提取出来,这些被提取出来的像素集合就是连通区域。像素之间的连通性是确定连通区域的一个重要的概念,其意义如下假设目标像素p(x,y)的邻域N(p)中有k个像素,对于这k个像素中任意第i个像素,如果其像素值和目标像素的像素值相同,则称这两个像素之间是相互连通的,即它们属于同一连通区域。根据像素之间连通性的不同,可以有不同的连通区域提取方法。在图像处理领域中,目前广泛应用的是四连通处理方法和八连通处理方法。如图2所示,四连通处理方法的基本原理如下对于目标像素P(x,y),定义其邻域^(p)为,)y(x-l,力,(x+l,力,(^-1),""1)},对于和目标像素p(x,y)具有相同像素值的任意像素q(i,j),若q(i,j)在邻域^(^中,则称像素p(x,y)和像素q(i,j)相互连通,即它们属于同一连通区域。八连通处理方法的基本原理如下对于目标像素p(x,y),定义其邻域(p)为,)=^4O)+{0-1,y-l),(x+lj-1),0-l,y+l),(;c+l,3;+l"(其中,仏O)={(x-1,力,O+1,力,"y-1),Oc,"1)}),对于和目标像素p(x,y)具有相同像素值的任意像素q(i,j),若q(i,j)在邻域(;7)中,则称像素p(x,y)和像素q(i,j)相互连通,即它们属于同一连通区域。现有的四连通处理方法和八连通处理方法符合人类的认知逻辑,在大部分实践中也能取得不错的效果,因而得到了广泛的应用。然而,这两种处理方法缺少与具体应用相关联的特殊性。在名片识别应用中,这两种方法所提取的连通区域面积小,提取连通区域数目多,造成了后续连通区域合并计算复杂度高,并影响最终的版面分析效果。实验证明这两种方法在名片识别应用中不能获得较好的连通域提取结果。而且,当前名片识别技术主要应用于手机等嵌入式平台上,其系统硬件资源有限,算法计算复杂度高会导致系统处理速度慢,使人们难以忍受,从而降低系统的可用性。
发明内容本发明所要解决的技术问题就是为了克服以上的不足,提出了一种用于版面分析中的连通区域提取方法及装置,减少后续连通区域合并的复杂度。为解决上述技术问题,本发明的方法,包括如下步骤第一步对于目标像素p(x,y),定义其邻域iV(/7)为<formula>formulaseeoriginaldocumentpage7</formula>第二步对于和目标像素-p(X,y)具有相同像素值的任意像素q(i,j),判断q(i,j)是否在邻域iVQ7)中,若是,则将像素p(x,y)和像素q(i,j)作为同一连通区域进行提取。优选地,本发明的方法具体包括如下步骤(1)、从左至右、从上至下对名片的二值化点阵图像进行像素标记;所述像素标记的方法为如果目标像素p(x,y)为白色,则将目标像素标记为0;如果目标像素为黑色,则判断目标像素的已扫描邻域的标记是否都为0;如果不是都为0,则使目标像素跟随已扫描邻域中第一个扫描出的非0标记,如果是都为O,则给目标像素一个新的非O标记;(2)、从左至右、从上至下合并像素标记;所述合并像素标记的方法为将目标像素及其邻域的非0标记合并成一个统一的非0标记,所述统一的非0标记为目标像素及其邻域的非0标记中的最小值。进一步优选地,本发明的方法具体包括如下步骤步骤一对二值化点阵图像,标记第1行的前4个像素p(l,1),p(l,2),:e(1,3),p(l,4);对于所有这4个像素,j卩果其像素值不为O,置其标记为0;如果其像素值为O,则执行如下处理对像素p(l,1):给它分配一个非0标记;对像素p(l,2):若像素p(l,l)的标记为非0,跟随p(l,l)的标记,否贝U,给p(l,2)分配一个新的非0标记;对像素p(l,3):若像素p(l,l)和p(1,2)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O标记,否则,给p(l,3)分配一个新的非0标记;对像素p(l,4):若像素p(l,1)、p(l,2)和p(l,3)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(l,4)分配一个新的非O标记;步骤二处理第l行的其他像素p(l,j),其中4〈j〈N+l,对于所有这些像素,如果其像素值不为0,置其标记为0;如果其像素值为0,则执行如下处理对像素p(l,j),若像素p(l,j國l)、p(l,j-2)、p(l,j隱3)、p(l,j-4)的标记中至少有一个为非O,跟随它们之中第一个扫描出的非O的标记,否则,给p(l,j)分配一个新的非0标记;步骤三处理第2行的前四个像素p(2,1),p(2,2),p(2,3),p(2,4),对于所有这四个像素,如果其像素值不为O,置其标记为O,如果其像素值为0,则执行如下处理对像素p(2,1):若像素p(l,l)和p(l,2)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(2,l)分配一个新的非0标记5对像素p(2,2):若像素p(l,l)、p(l,2)、p(l,3)、p(2,l)的标记中至少有一个为非O,跟随它们之中第一个扫描出的非O的标记,否则,给p(2,2)分配一个新的非O标记;对p(l,l)、p(l,2)、p(1,3)、p(2,l)之中的任意一个,若其标记为非0并且与p(2,2)的标记不等,则记录这两个标记是等价的;对像素p(2,3):若像素p(1,2)、p(l,3)、p(l,4)、p(2,1)、p(2,2)的标记中至少有一个为非O,跟随它们之中第一个扫描出的非O的标记,否则,给p(2,3)分配一个新的非0标记;对p(1,2)、p(l,3)、p(l,4)、p(2,1)、p(2,2)之中任意一个,若其标记为非0并且与p(2,3)的标记不等,则记录这两个标记是等价的;对像素p(2,4):若像素p(1,3)、p(1,4)、p(1,5)、p(2,1)、p(2,2)、p(2,3)的标记中至少有一个为非0,跟随它们之中任意一个非0的标记,否则,给p(2,4)分配一个新的非0标记;对p(1,3)、p(l,4)、p(l,5)、p(2,1)、p(2,2)、p(2,3)之中任意一个,若其标记为非0并且与p(2,4)的标记不等,则记录这两个标记是等价的;步骤四处理第2行的其他像素p(2,j),其中4〈j〈N+l,对于所有这些像素,如果其像素值不为0,置其标记为0,如果其像素值为0,则执行如下处理对像素p(2,j):若像素p(l,j-l)、p(l,j)、p(l,j+l)、P(2,j-1)、p(2,j画2)、p(2,j-3)、p(2,j-4)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(2,j)分配一个新的非0标记;对p(l,j-l)、p(l,j)、p(l,j+l)、p(2,j-l)、p(2,j誦2)、p(2,j-3)、p(2,j-4)之中任意一个,若其标记为非0并且与p(2,j)的标记不等,则记录这两个标记是等价的;步骤五处理3M行的14列像素p(i,j),其中2<i<M+l,0<j<5,对于所有这四列像素,如果其像素值不为0,置其标记为0,如果其像素值为0,则执行如下处理对像素p(i,1):若p(i-2,1)、p(i-l,l)、p(i-l,2)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(i,l)分配一个新的非O标记;对p(i-2,1)、p(i-l,l)、p(i-2,2)之中任意一个,若其标记为非0并且与p(i,l)的标记不等,则记录这两个标记是等价的;对像素p(i,2):若p(i-2,2)、p(i-l,l)、p(i-l,2)、p(i-l,3)、p(i,l)的标记中至少有一个为非O,跟随它们之中第一个扫描出的非O的标记,否则,给p(i,2)分配一个新的非0标记;对p(i-2,2)、p(i-l,1)、p(i-l,2)、p(i-l,3)、p(i,l)之中的任意一个,若其标记为非0并且与p(i,2)的标记不等,则记录这两个标记是等价的;对像素p(i,3):若p(i誦2,3)、p(i國l,2)、p(i画l,3)、p(i-l,4)、p(i,1)、p(i,2)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非0的标记,否则,给p(i,3)分配一个新的非0标记;对p(i-2,3)、p(i-l,2)、p(i-l,3)、p(i-l,4)、p(i,l)、p(i,2)之中任意一个,若其标记为非0并且与p(i,3)的标记不等,则记录这两个标记是等价的;对像素p(i,4):若p(i陽2,4)、p(i画l,3)、p(i-l,4)、p(i曙l,5)、p(i,1)、p(i,2)、P(i,3)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否贝U,给p(i,4)分配一个新的非0标记;对p(i-2,4)、p(i-l,3)、p(i-l,4)、p(i-l,5)、p(i,l)、p(i,2)、p(i,3)之中任意一个,若其标记为非0并且与p(i,4)的标记不等,则记录这两个标记是等价的;步骤六处理3M行的5N列像素p(i,j),其中2<i<M+l,4<j<N+l,对于所有这些像素,如果其像素值不为0,置其标记为0;如果其像素值为0,则执行如下处理对像素P(i,j》若P(i國2,j)、P(i-l,j-l)、P(i國l,j)、P(i-l,j+l)、P(i,j-l)、P(i,j-2)、p(i,j-3)、p(i,j-4)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(i,j)分配一个新的非O标记;对p(i-2,j)、p(i-l,j-l)、p(i-l,j)、p(i-l,j+l)、p(i,j-l)、p(i,j-2)、p(i,j画3)、p(i,j-4)之中任意一个,若其标记为非O并且与p(i,j)的标记不等,则记录这两个标记是等价的;步骤七将所有等价标记合并成等价标记中的最小标记。所述步骤七之后还包括如下步骤统计最后得到的所有连通区域的数目。所述连通区域提取方法用于名片识别的版面分析中。为解决上述技术问题,本发明的装置,具体包括如下单元邻域定义单元用于把目标像素p(X,y)的邻域iV(p)定义为={(x一1,少),(x+1,>0,(x,少_1),(x,_y+1),(x—1,;;—1),(x+1,y—1),(x—1,y+1),(:c+1,+1),(x一4,y),O-3,力,0—2,力,(x+2,力,0+3,力,0+4,力,0j+2),(x,;;-2)}提取单元用于判断和目标像素p(x,y)具有相同像素值的任意像素q(i,j),判断q(i,j)是否在邻域W(p)中,并在是时将像素p(x,y)和像素q(i,j)作为同一连通区域进行提取。优选地,该装置具体包括如下单元标记单元用于从左至右、从上至下对名片的二值化点阵图像进行像素标记;所述像素标记的方法为如果目标像素p(x,y)为白色,则将目标像素标记为0;如果目标像素为黑色,则判断目标像素的已扫描邻域的标记是否都为0;如果不是都为0则使目标像素跟随已扫描邻域中第一个扫描出的非0标记,如果是都为0则给目标像素一个新的非0标记;合并单元用于从左至右、从上至下合并像素标记;所述合并像素标记的方法为将目标像素及其邻域的非O标记合并成一个统一的非O标记,所述统一的非0标记为目标像素及其邻域的非0标记中的最小值。本发明与现有技术对比的有益效果是本发明的用于版面分析中的连通区域提取方法及装置克服了目前广泛采用的四连通和八连通的连通区域提取方法计算复杂度高、连通域提取性能不佳的问题,本发明通过简单的扩大每个连通域的搜索邻域,可以极大地降低提取的连通区域的数目,增大单个连通区域的面积,改善连通域提取的效果,使后续处理变得简单易行,从而降低整个识别过程的工作量,满足实际应用的需求。本发明的方法和装置能大大减少了提取的连通区域的数目,增大了连通区域的面积,降低了后续处理中连通区域合并的计算量和处理复杂度,使后续处理变得简单易行。本发明综合考虑了搜索范围和连通区域提取的效果,在搜索范围增加不大的情况下大大改善了连通区域提取的效果。本发明的方法和装置易于实现,计算量增加小,适用于手机等嵌入式平台。图1是现有的名片识别流程的示意图2是现有的四连通处理方法的原理示意图3是现有的八连通处理方法的原理示意图4是本发明的用于版面分析中的连通区域提取方法的原理示意图;图5是本发明具体实施方式的目标像素的己扫描邻域的示意图;图6是本发明具体实施方式的处理过程的示意图;图7是采用本发明的方法处理"北京"后的结果示意图8是采用现有的八连通方法处理"北京"后的结果示意图。具体实施例方式一种用于版面分析中的连通区域提取方法,包括如下步骤第一步对于目标像素p(X,y),定义其邻域7V(p)为<formula>formulaseeoriginaldocumentpage11</formula>第二步对于和目标像素p(X,y)具有相同像素值的任意像素q(i,j),判断q(i,j)是否在邻域iV(;O中,若是则将像素p(x,y)和像素q(i,j)作为同一连通区域进行提取。本发明对现有的连通区域提取方法的改进是重新定义了邻域N(p),在八连通的基础上,上下各增加一个连通像素点,其目的是解决上下结构的字符被分成两个或多个连通区域的问题,左右各增加三个连通像素点,我们称之为"十字连通域",也就是说在进行连通域搜索时,我们会在搜索八连通的邻域基础上,再扩大搜索邻域,而搜索范围就是本发明定义的"十字连通域"。现有的连通区域提取方法所定义的目标像素p的邻域N(p)基于人类的认知逻辑,但存在提取的连通区域面积过小,连通区域数目过多的问题,给后续的处理带来不便。为了解决该问题,我们发明了"十字连通域",其目的是最大程度上将属于同一行的字符划分为同一连通区域,本发明的方法一方面减少了提取的连通区域的数目,降低了后续处理复杂度,另一方面避免了邻域过大难于搜索的问题。本发明不定义邻域N(p)具有更多像素点的原因在于1).增加更多的像素点会造成搜索范围过大,使算法的计算量急剧增大。2).上下增加更多的像素点会造成将本来不属于同一连通区域的两个区域划分为同一连通区域,对后续处理造成困难。3).发明人通过做大量实验后证明,左右增加三个像素点即可将同一行的字符划分为同一连通区域,而增加更多的像素点会造成将本不属于同一连通区域的两个区域划分为同一连通区域,而减少搜索点则会造成连通区域的数目急剧增加。因此,本方案是最优的,实验结果表明,使用该方法可以把连通域提取时间控制在毫秒级以内。上述用于版面分析中的连通区域提取方法具体包括如下步骤(1)、从左至右、从上至下对名片的二值化点阵图像进行像素标记。所述像素标记的方法为如果目标像素p(x,y)为白色,则将目标像素标记为0;如果目标像素为黑色,则判断目标像素的已扫描邻域的标记是否都为0;如果不是都为0则使目标像素跟随已扫描邻域中第一个扫描出的非0标记,如果是都为0则给目标像素一个新的非0标记。我们可以在图5中看到,目标像素p(x,y)之前的已扫描邻域可能包括a(x,y-2)、b(x-l,y-l)、c(x,y陽l)、d(x+l,y-l)、e(x-4,y)、f(x-3,y)、g(x-2,y)、h(x國l,y)。其中,对于非边界的目标像素p(x,y),其中(4<x,且2〈y),目标像素p(x,y)之前的已扫描邻域一定包括a、b、c、d、e、f、g、h,而且扫描的先后顺序也依次为a、b、c、d、e、f、g、h。如果a-h全部为白色(即标记全都为0),则给目标像素p(x,y)—个新的非O标记,并开始对下一个目标像素p(x+l,y)进行标记。如果a-h并非全为白色(即标记不是都为0),则使目标像素跟随已扫描邻域中第一个扫描出的非O标记,并开始对下一个目标像素p(x+l,y)进行标记。例如如果a-0,那么将开始检査b,如果b-3,则使目标像素p(x,y)跟随b的标记,即将。p(x,v)也标记为3。对于边界的目标像素p(x,y),其中(x〈5,或y〈3),目标像素p(x,y)之前的已扫描邻域一定不完全包括a、b、c、d、e、f、g、h,但扫描的先后顺序不变。如果已扫描邻域像素全部为白色(即标记全都为0),则给目标像素p(x,y)—个新的非0标记,并开始对下一个目标像素p(x+l,y)进行标记。如果已扫描邻域像素并非全为白色(即标记不是都为0),则使目标像素跟随己扫描邻域中第一个扫描出的非O标记,并开始对下一个目标像素p(x+l,y)进行标记。(2)、从左至右、从上至下合并像素标记。所述合并像素标记的方法为将目标像素p(x,y)及其邻域的非0标记合并成一个统一的非0标记,所述统一的非0标记为目标像素及其邻域的非0标记中的最小值。下面在举一个具体实施方式对本发明提出的用于版面分析中的连通区域提取方法作做一步更详细的描述。本具体实施方式运行在普通个人计算机(PC)上,PC的具体配置如下CPU:IntelP41.7GHz,内存512MDDR333,操作系统WindowsXPProfessionalEdition,运行环境MicrosoftVisualStudio2005。本具体实施方式中对输入为名片图像的二值化点阵图像(指由黑白像素点组成的图像,计算机中一般用0表示黑色像素,用255表示白色像素),提取像素值为0的连通区域。其处理步骤如下(请参照图6以方便理解,以下处理步骤中,"跟随**的标记"意为给目标像素分配一个与**相同的标记)步骤一:对二值化点阵图像,标记第1行的前4个像素,即像素p(l,1),p(l,2)'p(l,3)'p(l,4);对于所有这4个像素,如果其像素值不为0(白色像素),置其标记为0;如果其像素值为0(黑色像素),则执行如下处理对像素p(l,1):给它分配一个非0标记;对像素p(l,2):若像素p(l,l)的标记为非O,跟随p(l,l)的标记,否则,给p(l,2)分配一个新的非0标记;对像素p(l,3):若像素p(l,l)和p(l,2)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O标记,否则,给p(l,3)分配一个新的非0标记;对像素p(l,4):若像素p(l,l)、p(1,2)和p(l,3)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(l,4)分配一个新的非0标记。步骤二处理第l行的其他像素p(l,j),其中4^〈N+1,对于所有这些像素,如果其像素值不为0,置其标记为0;如果其像素值为0,则执行如下处理对任意像素p(l,j)(4〈j〈N+l),若p(l,j隱l)、p(l,j-2)、p(l,j-3)、p(l,j國4)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非0的标记,否则,给p(l,j)分配一个新的非O标记。步骤三处理第2行的前四个像素p(2,1),p(2,2),p(2,3),p(2,4),对于所有这四个像素,如果其像素值不为0,置其标记为0,如果其像素值为0,则执行如下处理对像素p(2,1):若像素p(l,l)和p(l,2)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(2,l)分配一个新的非0标记;对像素p(2,2):若像素p(l,l)、p(l,2)、p(1,3)、p(2,l)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(2,2)分配一个新的非0标记;对p(l,1)、p(l,2)、p(1,3)、p(2,l)之中的任意一个,若其标记为非0并且与p(2,2)的标记不等,则记录这两个标记是等价的,这里,"等价"意味着这两个标记是可以在后面的步骤中合并为一个标记;对像素p(2,3):若像素p(1,2)、p(l,3)、p(l,4)、p(2,1)、p(2,2)的标记中至少有一个为非O,跟随它们之中第一个扫描出的非O的标记,否则,给p(2,3)分配一个新的非0标记;对p(1,2)、p(l,3)、p(l,4)、p(2,l)、p(2,2)之中任意一个,若其标记为非0并且与p(2,3)的标记不等,则记录这两个标记是等价的;对像素p(2,4):若像素p(1,3)、p(l,4)、p(l,5)、p(2,l)、p(2,2)、p(2,3)的标记中至少有一个为非0,跟随它们之中任意一个非O的标记,否则,给p(2,4)分配一个新的非0标记;对p(1,3)、p(l,4)、p(l,5)、p(2,l)、p(2,2)、p(2,3)之中任意一个,若其标记为非0并且与p(2,4)的标记不等,则记录这两个标记是等价的。步骤四处理第2行的其他像素p(2,j),其中4〈j〈N+l,对于所有这些像素,如果其像素值不为0,置其标记为0,如果其像素值为0,则执行如下处理对像素。(2,i):若像素p(l,i-l)、p(l,i)、p(l,i+l)、p(2,i-l)、p(2,i-2)、p(2,j-3)、p(2,j-4)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否贝U,给p(2,j)分配一个新的非0标记;对p(l,j-l)、p(l,j)、p(l,j+l)、p(2,j-l)、p(2,j-2)、p(2,j-3)、p(2,j-4)之中任意一个,若其标记为非0并且与p(2,j)的标记不等,则记录这两个标记是等价的;步骤五处理3M行的14列像素p(i,j),其中2^M+l,(Kj〈5,对于所有这四列像素,如果其像素值不为0,置其标记为0,如果其像素值为0,则执行如下处理对像素p(i,1):若p(i-2,1)、p(i-l,l)、p(i-l,2)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(i,l)分配一个新的非O标记;对p(i-2,1)、p(i-l,l)、p(i-2,2)之中任意一个,若其标记为非0并且与p(i,l)的标记不等,则记录这两个标记是等价的;对像素p(i,2):若p(i國2,2)、p(i-l,l)、p(i画l,2)、p(i-l,3)、p(i,l)的标记中至少有一个为非O,跟随它们之中第一个扫描出的非O的标记,否则,给p(i,2)分配一个新的非0标记;对p(i-2,2)、p(i-l,l)、p(i-l,2)、p(i-l,3)、p(i,l)之中的任意一个,若其标记为非0并且与p(i,2)的标记不等,则记录这两个标记是等价的;对像素p(i,3):若p(i誦2,3)、p(i-l,2)、p(i画l,3)、p(i画l,4)、p(i,1)、p(i,2)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非0的标记,否则,给p(i,3)分配一个新的非0标记;对p(i-2,3)、p(i-l,2)、p(i-l,3)、p(i-l,4)、p(i,1)、p(i,2)之中任意一个,若其标记为非0并且与p(i,3)的标记不等,则记录这两个标记是等价的;对像素p(i,4):若p(i画2,4)、p(i画l,3)、p(i-l,4)、p(i陽l,5)、p(i,1)、p(i,2)、p(i,3)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否贝U,给p(i,4)分配一个新的非0标记;对p(i-2,4)、p(i-l,3)、p(i-l,4)、p(i-l,5)、p(i,1)、p(i,2)、p(i,3)之中任意一个,若其标记为非0并且与p(i,4)的标记不等,则记录这两个标记是等价的;步骤六处理3M行的5N列像素p(i,j),其中2<i<M+l,4<j<N+l,对于所有这些像素,如果其像素值不为0,置其标记为0;如果其像素值为0,则执行如下处理对像素P(i,j》若P(i國2,j)、P(i-l,j國l)、P(i画l,j)、P(i-l,j+l)、P(i,H)、p(i,j-2)、p(i,j-3)、p(i,j-4)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非0的标记,否则,会tp(i,i)分配一个新的非0标记;对p(i-2,i)、p(i國l,j曙l)、p(i-l,j)、p(i-l,j+l)、p(i,j-l)、p(i,j國2)、p(i,j隱3)、p(i,j國4)之中任意一个,若其标记为非O并且与p(i,j)的标记不等,则记录这两个标记是等价的;步骤七将所有等价标记合并成等价标记中的最小标记。即根据得到的所有等价标记对,对二值化点阵图像的所有标记进行合并,即将等价标记对的两个标记合并为一个统一的非0标记,所述统一的非0标记为等价标记对中的最小值。步骤八统计最后获得的所有标记数目,也就是提取的连通区域数目。上述用于版面分析中的连通区域提取方法可以用在任何版面分析中,优选用在名片的版面分析中,尤其适用于中文名片的版面分析。上述方法适用于横排名片(名片上的字符按照从左到右的顺序排列),对于竖排名片(名片上的字符按照从上到下的顺序排列),则需要将名片旋转90即可使用本发明的方法进行处理。在名片识别应用中,我们希望正确提取的连通区域面积尽可能的大,连通区域的数目尽可能的少,这样能够降低后续处理的计算复杂度。参考下面的比较例可进一步了解本发明的优点。如图7、8所示,对于北京这两个字,采用本发明的方法,最后"北"字是一个完整的连通区域,"京"字是一个完整的连通区域;采用现有的八连通处理方法,最后"北"字被分成两个连通区域,"京"字被分成五个连通区域。由此可知本发明的方法可以大大减少了提取的连通区域的数目,增大了连通区域的面积,降低了后续处理中连通区域合并的计算量和处理复杂度,使后续处理变得简单易行。使用上述具体实施方式对随机选取的八幅名片图像,处理结果如表1所示表l对随机选取的八幅名片图像的处理结果比较<table>tableseeoriginaldocumentpage16</column></row><table>481344110187%77%6693677389%80%62361215079%59%3101363190%77%891944014285%68%从上表可以看出,本发明的方法可以大大减少了提取的连通区域的数目,增大了连通区域的面积,降低了后续处理中连通区域合并的计算量和处理复杂度,使后续处理变得简单易行。本发明综合考虑了搜索范围和连通区域提取的效果,在搜索范围增加不大的情况下大大改善了连通区域提取的效果。本发明的方法易于实现,计算量增加小,适用于手机等嵌入式平台。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属
技术领域
的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。权利要求1.一种用于版面分析中的连通区域提取方法,其特征在于包括如下步骤第一步对于目标像素p(x,y),定义其邻域N(p)为N(p)={(x-1,y),(x+1,y),(x,y-1),(x,y+1),(x-1,y-1),(x+1,y-1),(x-1,y+1),(x+1,y+1),(x-4,y),(x-3,y),(x-2,y),(x+2,y),(x+3,y),(x+4,y),(x,y+2),(x,y-2)}第二步对于和目标像素p(x,y)具有相同像素值的任意像素q(i,j),判断q(i,j)是否在邻域N(p)中,若是,则将像素p(x,y)和像素q(i,j)作为同一连通区域进行提取。2.根据权利要求1所述的用于版面分析中的连通区域提取方法,其特征在于具体包括如下步骤(1)、从左至右、从上至下对名片的二值化点阵图像进行像素标记;所述像素标记的方法为如果目标像素p(x,y)为白色,则将目标像素标记为0;如果目标像素为黑色,则判断目标像素的已扫描邻域的标记是否都为0;如果不是都为0,则使目标像素跟随已扫描邻域中第一个扫描出的非0标记,如果是都为O,则给目标像素一个新的非O标记;(2)、从左至右、从上至下合并像素标记;所述合并像素标记的方法为将目标像素及其邻域的非0标记合并成一个统一的非0标记,所述统一的非0标记为目标像素及其邻域的非0标记中的最小值。3.根据权利要求2所述的用于版面分析中的连通区域提取方法,其特征在于具体包括如下步骤步骤一对二值化点阵图像,标记第l行的前4个像素p(1,1),p(1,2),p(1,3),p(l,4);对于所有这4个像素,如果其像素值不为O,置其标记为0;如果其像素值为O,则执行如下处理对像素p(l,1):给它分配一个非0标记;对像素p(l,2):若像素p(l,l)的标记为非O,跟随p(l,l)的标记,否则,给p(l,2)分配一个新的非0标记;对像素p(l,3):若像素p(l,l)和p(1,2)的标记中至少有一个为非O,跟随它们之中第一个扫描出的非O标记,否则,给p(l,3)分配一个新的非0标记;对像素p(l,4):若像素p(l,1)、p(l,2)和p(l,3)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(l,4)分配一个新的非0标记;步骤二处理第l行的其他像素p(l,j),其中4〈j〈N+l,对于所有这些像素,如果其像素值不为0,置其标记为0;如果其像素值为0,则执行如下处理对像素p(l,j),若像素p(l,j-l)、p(l,j-2)、p(l,j-3)、p(l,j-4)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(l,j)分配一个新的非O标记;步骤三处理第2行的前四个像素p(2,1),p(2,2),p(2,3),p(2,4),对于所有这四个像素,如果其像素值不为0,置其标记为0,如果其像素值为0,则执行如下处理对像素p(2,1):若像素p(l,l)和p(l,2)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(2,l)分配一个新的非0标记;对像素p(2,2):若像素p(l,l)、p(l,2)、p(l,3)、p(2,l)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(2,2)分配一个新的非0标记;对p(l,l)、p(l,2)、p(1,3)、p(2,l)之中的任意一个,若其标记为非0并且与p(2,2)的标记不等,则记录这两个标记是等价的;对像素p(2,3):若像素p(1,2)、p(l,3)、p(l,4)、p(2,1)、p(2,2)的标记中至少有一个为非O,跟随它们之中第一个扫描出的非O的标记,否则,给p(2,3)分配一个新的非0标记;对p(1,2)、p(l,3)、p(l,4)、p(2,1)、p(2,2)之中任意一个,若其标记为非0并且与p(2,3)的标记不等,则记录这两个标记是等价的;对像素p(2,4):若像素p(1,3)、p(1,4)、p(1,5)、p(2,1)、p(2,2)、p(2,3)的标记中至少有一个为非0,跟随它们之中任意一个非0的标记,否则,给p(2,4)分配一个新的非0标记;对p(1,3)、p(l,4)、p(l,5)、p(2,l)、p(2,2)、p(2,3)之中任意一个,若其标记为非0并且与p(2,4)的标记不等,则记录这两个标记是等价的;步骤四处理第2行的其他像素p(2,j),其中4〈j〈N+l,对于所有这些像素,如果其像素值不为0,置其标记为0,如果其像素值为0,则执行如下处理对像素p(2,j):若像素p(l,j画l)、p(l,j)、p(l,j+l)、P(2,j画l)、p(2,j-2)、p(2,j-3)、p(2,j-4)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(2,j)分配一个新的非0标记;对p(l,j-l)、p(l,j)、p(l,j+l)、p(2,j國l)、p(2,j-2)、p(2,j-3)、p(2,j-4)之中任意一个,若其标记为非0并且与p(2,j)的标记不等,则记录这两个标记是等价的;步骤五处理3M行的14列像素p(i,j),其中2〈i〈M+l,0<j<5,对于所有这四列像素,如果其像素值不为0,置其标记为0,如果其像素值为0,则执行如下处理对像素p(i,l):若p(i-2,1)、p(i-l,1)、p(i-l,2)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否则,给p(i,l)分配一个新的非O标记;对p(i-2,1)、p(i-l,1)、p(i-2,2)之中任意一个,若其标记为非0并且与p(i,l)的标记不等,则记录这两个标记是等价的;对像素p(i,2):若p(i國2,2)、p(i國l,l)、p(i-l,2)、p(i-l,3)、p(i,l)的标记中至少有一个为非O,跟随它们之中第一个扫描出的非O的标记,否则,给p(i,2)分配一个新的非0标记;对p(i-2,2)、p(i-l,1)、p(i-l,2)、p(i-l,3)、p(i,l)之中的任意一个,若其标记为非0并且与p(i,2)的标记不等,则记录这两个标记是等价的;对像素p(i,3):若p(i-2,3)、p(i國l,2)、p(i-l,3)、p(i画l,4)、p(i,1)、p(i,2)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非0的标记,否则,给p(i,3)分配一个新的非0标记;对p(i-2,3)、p(i-l,2)、p(i-l,3)、p(i-l,4)、p(i,1)、p(i,2)之中任意一个,若其标记为非0并且与p(i,3)的标记不等,则记录这两个标记是等价的;对像素p(i,4):若p(i画2,4)、p(i画1,3)、p(i國l,4)、p(i-l,5)、p(i,1)、p(i,2)、p(i,3)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非O的标记,否贝IJ,给p(i,4)分配一个新的非0标记;对p(i-2,4)、p(i-l,3)、p(i-l,4)、p(i-l,5)、p(i,l)、p(i,2)、p(i,3)之中任意一个,若其标记为非O并且与p(i,4)的标记不等,则记录这两个标记是等价的;步骤六处理3M行的5N列像素p(i,j),其中2<i<M+l,4<j<N+l,对于所有这些像素,如果其像素值不为0,置其标记为0;如果其像素值为0,则执行如下处理对像素P(i,j):若P(i-2,j)、P(i-l,j國l)、P(i-l,j)、P(i-l,j+l)、P(i,j画l)、P(i,i-2)、p(U-3)、p(U-4)的标记中至少有一个为非0,跟随它们之中第一个扫描出的非0的标记,否则,给p(i,j)分配一个新的非O标记;对p(i-2,j)、p(i-l,j画l)、p(i画l,j)、p(i画l,j+l)、p(i,j國l)、p(i,j腸2)、p(i,j-3)、p(i,j-4)之中任意一个,若其标记为非O并且与p(i,j)的标记不等,则记录这两个标记是等价的;步骤七将所有等价标记合并成等价标记中的最小标记。4.根据权利要求3所述的用于版面分析中的连通区域提取方法,其特征在于所述步骤七之后还包括如下步骤统计最后得到的所有连通区域的数目。5.根据权利要求l-4任一所述的用于版面分析中的连通区域提取方法,其特征在于所述连通区域提取方法用于名片识别的版面分析中。6.—种用于版面分析中的连通区域提取装置,其特征在于包括如下单元邻域定义单元用于把目标像素p(X,y)的邻域7V(p)定义为<formula>formulaseeoriginaldocumentpage5</formula>提取单元用于判断和目标像素p(x,y)具有相同像素值的任意像素q(i,j),判断q(i,j)是否在邻域A^)中,并在是时将像素p(x,y)和像素q(i,j)作为同一连通区域进行提取。7.根据权利要求6所述的用于版面分析中的连通区域提取装置,其特征在于具体包括如下单元标记单元用于从左至右、从上至下对名片的二值化点阵图像进行像素标记;所述像素标记的方法为如果目标像素p(x,y)为白色,则将目标像素标记为0;如果目标像素为黑色,则判断目标像素的己扫描邻域的标记是否都为0;如果不是都为0则使目标像素跟随已扫描邻域中第一个扫描出的非0标记,如果是都为0则给目标像素一个新的非0标记;合并单元用于从左至右、从上至下合并像素标记;所述合并像素标记的方法为将目标像素及其邻域的非O标记合并成一个统一的非O标记,所述统一的非0标记为目标像素及其邻域的非0标记中的最小值。全文摘要本发明公开了一种用于版面分析中的连通区域提取方法及装置,该方法包括如下步骤对于目标像素p(x,y),定义其邻域N(p)为N(p)={(x-1,y),(x+1,y),(x,y-1),(x,y+1),(x-1,y-1),(x+1,y-1),(x-1,y+1),(x+1,y+1),(x-4,y),(x-3,y),(x-2,y),(x+2,y),(x+3,y),(x+4,y),(x,y+2),(x,y-2)};对于和目标像素p(x,y)具有相同像素值的任意像素q(i,j),判断q(i,j)是否在邻域N(p)中,若是,则将像素p(x,y)和像素q(i,j)作为同一连通区域进行提取。本发明的方法和装置能大大减少了提取的连通区域的数目,增大了连通区域的面积,降低了后续处理中连通区域合并的计算量和处理复杂度,使后续处理变得简单易行。文档编号G06K9/00GK101290656SQ200810067409公开日2008年10月22日申请日期2008年5月23日优先权日2008年5月23日发明者宏刘,吴天瑞,朱慧莹,邹月娴申请人:北京大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1