曾凡锋,高艳云,付晓玲
(北方工业大学 信息工程学院,北京100144)
随着图像处理技术的发展,传统的通过扫描仪采集信息的方式已经越来越满足不了人们的需求,而随着现代数码产品越来越广泛的应用,通过拍照采集信息的方式得到了很大程度上的应用,尤其是在印刷文字识别方面。虽然拍照方式采集图像方便快捷,但是在应用中仍然存在一些问题,例如拍照获得的文本图像可能由于外界不确定因素存在一些光照不均的现象等,这些将影响后续对文字的识别效果。通常的处理方法是先对图像进行二值化,但是二值化后的图像可能残留噪声,这就需要对二值化图像进行去噪处理。目前常用的图像去噪算法有中值滤波、均值滤波、小波变换和数学形态学滤波等,但这些方法只是对一般图像的去噪处理,针对性不强,对于文本图像的去噪效率不高,效果不是很好。本文在原有算法的基础上,主要分析了文本图像特有的结构特征和噪声特征,提出了一种基于文本图像的投影结合分块形态学的快速去噪方法,首先对输入的二值化文本图像进行投影,通过分析投影结果去除行列间噪声,然后对图像分块统计噪声的数量,通过阈值对分块的图像进行快速去噪。该方法对于通过拍照方式获得的文本图像由于光照不均而产生的一些噪声的处理比传统的滤波等方法的效果更好,速度更快,为后续的文字识别和注视放大提供了良好的条件。
(1)文本主要有横排,竖排及横竖混排3种版面。横排版的文本是从上往下、从左向右排版;竖排版文本是从右向左、从上向下排版。
(2)文本正文中的文字字型字号相同。
(3)文本正文中的文字行、列间隔相等。
(4)文本行间和列间不会再出现字符。
如图1所示为排版结构,第一幅为横排文本,第二幅为竖排文本,第三幅为横竖混排文本。
图1 文本图像结构特征
由于光照不均产生的文本图像的噪声通常出现在文本的行间和列间或者在字符的边缘,噪声形态通常是点状或是小型块状噪声(光照严重不均情况除外),如图2所示为一种横排版面的文本图像二值化后的效果图。可以看出由于光照不均会造成部分图像的噪声分布比较集中并且多,而部分图像的噪声很少或者是几乎没有。噪声的分布主要是点状的和小型的块状噪声。
图2 二值化后图像的噪声分布情况局部放大
首先对文本图像进行二值化,根据文本图像的结构特征及噪声特征,对二值化后的图像通过投影确定文本结构,并快速去除行间和列间的噪声,字符内去噪采取分块局部阈值方法,并采用形态学滤波法去噪。算法流程如图3所示。
图3 整体算法流程
本文中提到的行(列)间去噪是相对于排版不同的文本而言的,即通过投影分析其投影结果中脉冲的周期性,如果行投影的结构脉冲有一定得周期性则为横排文本,反之则为竖排文本,判断了文本的结构特征之后接着可以运用投影结果对文本进行行间去噪,因为横排文本的排版是从上到下,从左到右的,文本是按行排版的,而对于竖排文本则应该先进行列间去噪,因为竖排文本的排版是从右到左,从上到下,文本是按列排版的。首先应该对文本图像进行投影,由于文本图像的正文中的文字行间和列间一般都是等距的,同一图像中正文的文字大小是相等的,所以可以对投影结果进行分析,根据其脉冲的周期性,判断文本图像的行间距和列间距,选取投影结果中相邻的两个脉冲,其中一个脉冲的起始点和终止点的差值就是行高即字符的高度,选择得到的字符高度的数据中出现次数最多的作为文本图像中的字符高度。由于根据经验值一行内如果只有一个字符时黑像素点为20左右,所以可以以20作为阈值,大于这个阈值的就认为这一行内有字符,而小于这个阈值的则认为这行内存在的是噪声,将这一行的所有点的像素置为255即对这行整体去噪。如图4所示为行(列)间去噪的流程图。
图4 行(列)间去噪流程
通过前一步的行(列)间去噪之后,对于横排文本的图像,可以去除字符间的噪声即每一行文本中的列间噪声,因为图像中的文字有可能不是每一行都是对齐的,所以应该对每一行进行操作,根据每一行中列的周期性确定一个字符的宽度,由于每一个字符的宽度一般都是相等的,所以可以对任意一行进行列投影,投影结果中选取相邻的两个脉冲,其中前一个脉冲的终止点和后一个脉冲的起始点的间隔就是这个列间距即字符的宽度,然后选取这一行中得到列间距中出现次数最多的数作为整篇文本的字符间距。因为根据经验值一个逗号的黑像素点为3,所以可以选取3作为阈值,大于这个阈值的就认为这一列是字符,而小于这个阈值的则认为这列是噪声,将这一列的所有点的像素置为255即对这列整体去噪。如图5所示为字符间去噪的流程图。
图5 字符间去噪流程
由于上述两步的去噪方法类似,如图6所示为经过上述两步去噪之后的效果图,可以看出经过行间和字符间的去噪,出现在字符间和行间的噪声点已经基本去除。其中最为明显的是“豪”字上方出现的块状的噪声在经过行间和字符间去噪后已经不存在了。
图6 行列间去噪前后局部放大对比
由于一些文本图像的光照不均会造成一部分图像的噪声点多而部分图像的噪声点很少,噪声点少的部分对后续的识别和放大的效果影响不大可以直接进行输出,而噪声点多的部分还需要进一步去噪。为此对图像进行分块去噪,图像分块的流程如图7所示。
图7 图像分块的流程
首先将图像分成3*3或者是5*5块,对每块内的图像进行分析,即分析统计每块内行列间的噪声点数,由于在统计出的行列间噪声点数的数组中肯定会存在一些特别小的数和一些特别大的数,其中特别大的数肯定是噪声点多的部分需要去噪,而特别小的肯定是不需要去噪的,这时就需要确定一个阈值,确定这个阈值时先将前面得到的噪声点数的数组排序,选择数组中相邻两个元素中差值最大的两个数的中值作为阈值,大于这个阈值的图像进行下一步的块内字符去噪,小于这个阈值图像的直接进行输出。
对于前面统计的需要进行块内字符去噪的图像采用形态学算法进行去噪。运用形态学运算去掉一些偏离的噪声,吸收一些近距离的噪声点,以达到去噪效果。因为形态学算法比中值滤波速度快,并且比邻域法等去噪算法效果明显。所以在块内选择形态学算法进行去噪。
2.5.1 形态学去噪算法
形态学运算包括腐蚀、膨胀、开和闭运算,其中最基本的腐蚀和膨胀。
形态学腐蚀如下所示
式中:S——腐蚀后的二值图像集合,B——进行腐蚀的结构元素,X——原图像经过二值化后的像素集合,此公式是用结构元素B来腐蚀X得到集合S。
形态学膨胀如下所示
式中:S——膨胀后的二值图像集合,B——进行膨胀的结构元素,X——原图像经过二值化后的像素集合,此公式是用B来膨胀X得到集合S。
形态学开运算是运用数学腐蚀和膨胀相结合的一种算法,如下所示
其中结构元素B对集合A进行运算,即B对A先腐蚀后膨胀。
形态学闭运算是运用数学腐蚀和膨胀相结合的一种算法,如下所示
其中结构元素B对集合A进行运算,即B对A先膨胀后腐蚀。
数学形态学腐蚀可以消除图像的边界噪声,使边界向内收缩,而膨胀是对图像边界点得扩充,使部分背景点合并到图像中,使图像的边界向外扩张。开运算和闭运算是将腐蚀和膨胀相结合的算法,开运算不仅可以使图像的轮廓变的光滑,还可以断开狭窄的间断和消除细的突出物,闭运算可以使轮廓线更光滑,消除狭窄的间断和长细的鸿沟,消除小孔并填补轮廓线中的断裂。对于文本图像可以去除字符间的孤立点并且可以保持字符的大小。所以对于文本图像的去噪采用形态学方法比其它的传统去噪算法效果会好。
2.5.2 传统的中值滤波算法
值滤中波器的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围像素灰度值的差比较大的像素改取与周围的像素值接近的值,从而可以消除孤立的噪声点。
中值滤波算法如下所示
式中:X(n-N)…X(n)…X(n+N)——定义窗口内的作用样本,med[]——对一个滑动窗口内的像素由大到小排序完之后取中值的运算。
中值滤波算法中最重要的操作就是对中值的计算,而中值的计算主要又是对窗口内像素的排序操作。排序的重要步骤是对像素做比较和交换,数据元素之间的比较次数是影响排序的重要因素。用冒泡排序的话,其时间复杂度为O(m2),所以中值滤波的时间耗费会比较大。
综上所述,在块内选择一种符合文本图像结构特征和噪声特征的去噪算法,形态学去噪速度会比较快而且效果会比较好。而传统的中值滤波算法运用在全局的时候速度已经不快,如果运用在块内的话速度不会比运用数学形态学算法快。并且传统的中值滤波算法对孤立的噪声点效果会比较好,而对于块状的噪声效果不太明显。
如图8所示为一幅文本图像在去噪前和应用本文算法以及传统的全局算法效果比较放大图,其中图8(a)为去噪前的文本图像,图8(b)所示为经过投影结合分块形态学去噪后的图像,而图8(c)所示为经过全局形态学去噪的效果图,图8(d)为经过全局中值滤波去噪的效果图,从图中可以看出,全局形态学去噪和全局中值滤波去噪对光照不均的图像整体去噪使一部分原本噪声很少的图像失真很严重,对后续的识别和放大效果影响很大,就如图8(c)和图8(d)所示的图像中最后两行文字在经过去噪处理后也被当作噪声去掉一部分了,其局部放大之后会发现很多字符出现严重的断笔现象使的后续的识别和助视放大效果很差,而运用分块的去噪算法,只对噪声点多的部分图像进行去噪,对噪声点少的部分图像则不进行操作直接输出,这样噪声点少的部分会将原图直接输出对后续的图像识别和助视放大不会造成影响。
测试条件:利用摄像头外加辅助光造成文本图像的光照不均来采集图像,将采集到的图像保存在本地机上,运用前面的算法对其进行去噪。
测试环境:Windows XP,Visual C++6.0
对于以5号字组成的A4纸全文的文本图像,算法效率见表1。
表1 算法比较
图8 图像去噪前和应用本文算法及传统算法效果比较
通过前面图所示及测试结果可以看出,全局形态学的去噪算法虽然在速度方面会比较快,但是运用这个算法得出的效果图中有很多噪声点比较少的图像的失真严重,会有部分图像中的字符被当作噪声去掉而对后续的操作产生很多不利的因素,影响识别和助视放大的效果,而全局中值滤波采用5*5窗口滤波算法,得到的结果不仅出现形态学所示的现象并且速度也不快,但是,运用投影法结合分块去噪的快速去噪方法对大多数光照不均的文本图像去噪有较好效果。比传统的全局去噪算法效率更高,效果更好。
本文提出的基于文本图像的快速去噪方法,根据文本图像的结构及噪声特征,采用投影结合分块形态学方法提高去噪效果和速度。对大多数光照不均的文本图像去噪有较好效果。可用于文字识别前的图像预处理或印刷文字的助视放大。
针对传统去噪算法的普遍性而没有特定针对性的特别,分析文本图像所区别与一般图像的结构特征和噪声特征,提出一种投影法结合分块形态学方法的快速去噪算法,通过测试和分析,达到了一定的效果,较传统的全局去噪算法效率更高,效果更好,但是,这个算法主要针对的是正常情况下光照不均的文本图像的去噪,对于一些光照严重不均,比如在二值化后会出现大面积黑色区域并且大面积噪声中夹杂文字的图像这种去噪算法效果会和传统的去噪算法的效果差不多,不太有明显的优势。
[1]YANG Bo,QI Fei-hu,HAO Jun-sheng.A new approach for marginal noise removal of binary document image[J].Computer Engineering,2006,32(5):186-188(in Chinese).[杨博,戚飞虎,郝峻晟.一种去除二值文本图像边缘噪声的新方法[J].计算机工程,2006,32(5):186-188.]
[2]ZHANG Yuan,CAI Li-dong.A method of salt-pepper denoising for text images[J].Journal of Changchun University of Science and Technology(Natural Science Edition),2010,33(2):129-132(in Chinese).[张媛,蔡利栋.一种去除文本图像椒盐噪声的方法[J].长春理工大学学报(自然科学版),2010,33(2):129-132.]
[3]TIAN Da-zeng,HAO Yong,HA Ming-hu.New algor ithm for r emoval of salt-pepper noises of visual text images[J].Computer Engineering and Applications,2007,43(14):81-83(in Chinese).[田大增,郝永,哈明虎.一种新的去除视觉文本图像椒盐噪声的算法[J].计算机工程与应用,2007,43(14):81-83.]
[4]YANG Shu-ying.VC+ + image processing program design[M].2nd ed.Beijijng:Tsinghua University Press,2005(in Chinese).[杨淑莹.VC++图像处理程序设计[M].2版.北京:清华大学出版社,2005.]
[5]YANG Xiao-gang,MENG Fei,LI Jun-shan.Practical image filtering algorithm[J].Journal of Computer Applications,2009,29(6):216-218(in Chinese).[杨小冈,孟飞,李俊山.一种实用的图像滤波算法[J].计算机应用,2009,29(6):216-218.]
[6]LIU Guo-hong,GUO Wen-ming.Application of improved arithmetic of median filtering denoising[J].Computer Engineering and Applications,2010,46(10):187-189(in Chinese).[刘国宏,郭文明.改进的中值滤波去噪算法应用分析[J].计算机工程与应用,2010,46(10):187-189.]
[7]LI Yan-jun,SU Hong-qi,YANG Feng,et al.Improved algorithm study about removing image noise[J].Computer Engineering and Design,2009,30(12):2995-2996.[李彦军,苏红旗,杨峰,et al.改进的中值滤波图像去噪方法研究[J].计算机工程与设计,2009,30(12):2995-2996.]
[8]WANG Xiao-kai,LI Feng.Improved adaptive median filtering[J].Computer Engineering and Applications,2010,46(3):175-176(in Chinese).[王晓凯,李锋.改进的自适应中值滤波[J].计算机工程与应用,2010,46(3):175-176.]
[9]ZHANG Yong,CHEN Da-jian,SUN Zhi-jun.Comparing of two improved median filtering algorithms[J].Electro-Optic Technology Application,2010,25(1):67-70(in Chinese).[张勇,陈大建,孙志军.两种改进型中值滤波算法比较[J].光电技术应用,2010,25(1):67-70.]
[10]Kazuya Matsushita,Hitoshi Kitazawa.An improved camera identification method based on the texture complexity and the image restoration[C].Daejeon,Korea:International Conference on Convergence and Hybrid Information Technology,2009.