本发明涉及一种中文文字图片长干扰线去除方法,属于信息处理技术领域。
背景技术:
如今正处于计算机信息化飞速发展的时代,信息的电子化处理已然成为了一种不可逆转的趋势。在未来,如何将大量的已产生或将产生的印刷或手写的海量文档高效并准确的储存于计算机之中,减少繁琐的文字录入,是一个尚需解决的问题。目前,单纯背景下的印刷体文字的文档图像,其ocr的识别率已经能够达到99%以上,并且在各个领域中得到了广泛的应用。然而,现实中所需识别的文字图片却是纷繁复杂的,包含了大量的干扰信息(如:复杂的背景噪声、干扰线等),从而降低了识别的准确率。关于干扰线的产生,往往是由于人们在原始文本上对重要内容进行的标记,或者是为了逃避信息安全机构对非法信息传播的过滤,对于带有干扰的信息人们可以根据已有的知识进行理解,从而获取到传播的信息,而计算机却不尽然。因此,如何对文字图像中的干扰线进行有效的去除,成为ocr识别问题中一个重要的步骤。
关于文本图像去除干扰线的研究工作大致可归为三类,第一类是通过干扰线与原始文字图片的颜色差异性,根据像素值将干扰与非干扰线进行分离后,对干扰线进行去除。此方法简单快捷,针对于干扰线与文本颜色差异较大的情况能够很好地解决,但却会导致文本笔画缺失及断裂,并且对于干扰线与文本同色的情况却并不奏效。第二类是规则的线段,一般表现为印刷文档中的下划线,或者表格之中的边缘线,通过连通分量分析以及下边缘分析策略,获取干扰线的位置信息。或者是通过滑动窗口中的熵值,判断干扰线的位置信息,从而达到去除的目的。第三类是不规则的线段,通过使用超图来检测图像中的干扰线,并采用方法偏移算法、主曲线方法以及改进的最短路径法进行实现,该方法比较复杂,并且对于如何处理与文字像素粘连的部分没有进行很好的阐述。以上三种方法都有其不足的地方,针对文字图像中去除同色且不规则长干扰线的问题,本发明提出了一种中文文字图片长干扰线去除方法。
技术实现要素:
本发明要解决的技术问题是针对现有技术的局限和不足,提出一种中文文字图片长干扰线去除方法,主要用于解决文字图片中文字与不规则干扰线的粘连情况。
本发明的技术方案是:一种中文文字图片长干扰线去除方法,首先获取带有长干扰线的文字图片,并对图像进行二值化处理,去除原始图像中的部分噪音,从而得到主要的文字识别部分;设定初始扫描方向,对图片进行扫描获取待测点;根据不同种类的像素连接情况,计算各个线条的连接权值和干扰线条的阈值,判定超过此阈值的线条为干扰线;通过干扰线上像素点的邻域特性,判定归属后对其进行保留或去除;去除图片中的单行或者单列像素;最后,对图片进行重复去噪,直至其阈值低于初次计算的权值均值时,保留并输出最终结果图片。
具体步骤为:
step1:获取带有与文本颜色相同干扰线的文字图像。
step2:对文字图像进行二值化的处理,并得到二值化图像。
step3:确定初始扫描方向,获取与文字颜色一致的像素点。
step4:依次扫描待测点,计算通过线段权值。
step5:计算当前图片所有线段权值的均值,并储存初始图片所有连接线段的权值均值。
step6:根据求取的干扰线段阈值,逐一判定当前线段是否属于干扰线段。
step7:根据干扰线段上每个像素点的邻域特性,判定其与文字粘连情况后,对图片中的干扰像素点进行去除。
step8:扫描已经处理好的图片,对图像之中的单行或者单列的像素点进行去除。
step9:循环处理图片中的干扰线段,直至当前干扰线段的阈值小于step5中所储存的初始图片所有连接线段权值的均值,则循环终止。
step10:对最终处理好的图片进行储存并输出。
进一步地,所述步骤step1中,所获取的带有干扰线的文字图片,其干扰线特征为:与文字图片颜色相同,且干扰线的线性可为规则或不规则的连续线段,可与文字部分进行部分粘连,其长度应大于中文字符的长度。
进一步地,所述步骤step2中,对文字图像进行二值化处理,其处理过程为将一幅大小为m×n的文档图像等分成大小相等的块,假设等分成m1×n1个块,即列方向等分成m1份,行方向等分成n1份,则每块中像素的数目为(m×n)/(m1×n1),为了保证每块中像素数目合适,m1和n1的取值范围应为5~10之间的整数。每个小块中的局部阈值使用大津法获得,然后使用线性插值法从局部阈值获得每个位置的阈值t(i,j),因此,此处的图像二值化可以描述为:
进一步地,所述步骤step3中,确定扫描的方向为水平或者垂直,获取文字图像中文字的颜色,并获取所有与其颜色相同的像素点位置,并存于数组v:{v1,v2…vx}之中,其中x为所有待测像素点的数目,vx为该像素点的在图片之中的位置坐标。
进一步地,所述步骤step4中,获取待测点的坐标值vx(y1,y2),扫描其前方的像素点的颜色值,并加上相应的权值,将所获取的权值放入权值数组p:{p1,p2…px},其待测点前方像素情况与相应权值对应情况如下:
5a:设置初始权值px为0。
5b:当vx(y1+1,y2)的颜色与vx(y1,y2)相同时,权值px加3。
5c:当vx(y1+1,y2-1)或vx(y1+1,y2+1)两点的颜色,其中一个与vx(y1,y2)颜色相同时,权值px加2。
5d:当vx(y1,y2-1)且vx(y1+1,y2-2)两点的颜色,两者都与vx(y1,y2)颜色相同时,权值px加1。
5e:当vx(y1,y2+1)且vx(y1+1,y2+2)两点的颜色,两者都与vx(y1,y2)颜色相同时,权值px加1。
5f:当vx(y1+1,y2-1)且vx(y1+1,y2-2)两点的颜色,两者都与vx(y1,y2)颜色相同时,权值px加1。
5g:当vx(y1+1,y2+1)且vx(y1+1,y2+2)两点的颜色,两者都与vx(y1,y2)颜色相同时,权值px加1。
权值相加后跳至下一个点,直至没有以上情况产生,储存当前权值后,则开始下一个待测点的线段扫描。
进一步地,所述步骤step5中,根据得到的权值数组p:{p1,p2…px},计算得到权值平均值
进一步地,所述步骤step6中,根据当前权值平均值
将权值数组p:{p1,p2…px}的元素逐一与阈值t进行比较,若px≥t,则判定px所在对应最大权值的线段为干扰线。
进一步地,所述步骤step7中,根据所有干扰线的线段每个像素点的邻域特性,对该像素的保留去除与否进行判断,假设该待测像素点为(i,j),若满足如下情况则判定改像素点为文字字符保留点:
8a:(i,j-1)和(i,j+1)两点与待测像素点颜色相同。
8b:(i,j-1),(i+1,j-1),(i-1,j-1)和(i+1,j)四个点,与待测像素点颜色相同。
8c:(i,j-1),(i+1,j-1),(i-1,j-1)和(i-1,j)四个点,与待测像素点颜色相同。
8d:(i+1,j-1),(i+1,j),(i+1,j+1)和(i,j-1)四个点,与待测像素点颜色相同。
8e:(i+1,j-1),(i+1,j),(i+1,j+1)和(i,j+1)四个点,与待测像素点颜色相同。
进一步地,所述步骤step9中,循环step3、step4、step5、step6、step7和step8,循环处理图片中的干扰线段,直至当前干扰线段的阈值小于step5中所储存的初始图片所有连接线段权值的均值,则循环终止。
本发明的有益效果是:本发明通过贪婪算法计算线条均值,解决现存问题中计算速率低,干扰线与文字耦合粘连部分去除效果不理想的问题,致力于提升带有长干扰线文字图片识别的准确性。
附图说明
图1是本发明流程示意图;
图2是本发明带长干扰的文字图片;
图3是本发明经过处理的二值化图片;
图4是本发明待测像素点集合;
图5是本发明不同权值所对应的情况;
图6是本发明保留点的邻域情况;
图7是本发明首次去除的干扰线;
图8是本发明首次去除干扰线后的图像;
图9是本发明去除干扰线后的最终图像。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面通过附图和具体实施例,对本发明作进一步详细说明。
本发明提供一种中文文字图片长干扰线去除方法,该方法具体包括以下步骤:
step1:获取带有与文本颜色相同干扰线的文字图像。所获取的带有长干扰线的文字图片,其干扰线特征应满足如下要求:
a.与文字图片颜色相同;
b.干扰线的线性可为规则或不规则的连续线段;
c.可与文字部分进行部分粘连;
d.干扰线长度应大于中文字符的长度。
本例中所处理的带长干扰的文字图片如附图2所示。
step2:对图像进行二值化的处理,并得到二值化图像。对文字图像进行二值化处理,其处理过程为将一幅大小为m×n的文档图像等分成大小相等的块,假设等分成m1×n1个块(即列方向等分成m1份,行方向等分成n1份),则每块中像素的数目为(m×n)/(m1×n1)。为了保证每块中像素数目合适,m1和n1的取值范围应为5~10之间的整数。每个小块中的局部阈值使用大津法获得,然后使用线性插值法从局部阈值获得每个位置的阈值t(i,j)。因此,此处的图像二值化可以描述为:
通过上述计算,得到初始图片的二值化图像,如附图3所示;
step3:确定初始扫描方向,获取与文字颜色一致的像素点。在本例中确定扫描的方向为垂直,获取文字图像中文字的颜色,并获取所有与其颜色相同的像素点位置,将其存于数组v:{v1,v2…vx}之中,如附图4所示,其中x为所有待测像素点的数目,vx为该像素点的在图片之中的位置坐标。
step4:依次扫描待测点,计算通过线段权值。获取待测点的坐标值vx(y1,y2),扫描其前方的像素点的颜色值,并加上相应的权值,将所获取的权值放入权值数组p:{p1,p2…px}。其待测点前方像素情况与相应权值对应情况如下(以垂直方向为例):
a.设置初始权值px为0;
b.当vx(y1+1,y2)的颜色与vx(y1,y2)相同时,权值px加3;
c.当vx(y1+1,y2-1)或vx(y1+1,y2+1)两点的颜色,其中一个与vx(y1,y2)颜色相同时,权值px加2;
d.当vx(y1,y2-1)且vx(y1+1,y2-2)两点的颜色,两者都与vx(y1,y2)颜色相同时,权值px加1;
e.当vx(y1,y2+1)且vx(y1+1,y2+2)两点的颜色,两者都与vx(y1,y2)颜色相同时,权值px加1;
f.当vx(y1+1,y2-1)且vx(y1+1,y2-2)两点的颜色,两者都与vx(y1,y2)颜色相同时,权值px加1;
g.当vx(y1+1,y2+1)且vx(y1+1,y2+2)两点的颜色,两者都与vx(y1,y2)颜色相同时,权值px加1。
权值相加后跳至下一个点,直至没有以上情况产生,则开始下一个待测点的线段的扫描,不同情况所对应的权值如附图5所示,其中深色像素点为当前测试点。
step5:计算当前图片所有线段权值的均值,并储存初始图片所有连接线段权值的均值。根据得到的权值数组p:{p1,p2…px},计算得到权值平均值
step6:根据干扰线段阈值,逐一判定该线段是否属于干扰线段。根据当前权值平均值
将权值数组p:{p1,p2…px}的元素逐一与阈值t进行比较,若px≥t,则判定px所在对应最大权值的线段为干扰线。在本例中不同次数计算得到的阈值为:
step7:根据干扰线段上每个像素点的邻域特性,判定其与文字粘连情况后,对图片中的干扰像素点进行去除。假设该待测像素点为(i,j),若满足如下情况则判定改像素点为文字字符保留点:
a.(i,j-1)和(i,j+1)两点与待测像素点颜色相同;
b.(i,j-1),(i+1,j-1),(i-1,j-1)和(i+1,j)四个点,与待测像素点颜色相同;
c.(i,j-1),(i+1,j-1),(i-1,j-1)和(i-1,j)四个点,与待测像素点颜色相同;
d.(i+1,j-1),(i+1,j),(i+1,j+1)和(i,j-1)四个点,与待测像素点颜色相同;
e.(i+1,j-1),(i+1,j),(i+1,j+1)和(i,j+1)四个点,与待测像素点颜色相同;
其保留像素点情况如附图6所示,颜色较深点为中心点,当邻域情况满足附图6所示情况时则保留该点。
step8:扫描已经处理好的图片,对单行或者单列像素点进行去除。
step9:循环处理图片中的干扰线段,循环上述step3、step4、step5、step6、step7和step8,循环处理图片中的干扰线段,直至当前干扰线段的阈值小于step5中所储存的初始图片所有连接线段权值的均值,则循环终止。在本例中,因
step10:对最终处理好的图片进行储存并输出,最终处理后的图像如附图9所示。
以上所述实施例仅表示本发明的实施方式,其描述较为具体和详细,但并不能理解为对本发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变型和改进,这些都属于本发明保护范围。