文档扫描图像的批量自适应优化和归档

2016-12-21 12:40郑静王腾
电脑知识与技术 2016年28期

郑静+王腾

摘要:本文针对各种印刷和手写的纸质材料经过扫描仪扫描后形成的结果图像,甚至是老旧手写资料的扫描结果图像或图像质量不理想的历史扫描资料,通过对批量图像的共同特点进行分析,经算法设计,最终实现了对JPG、PDF等在内的多种格式扫描图像的批量性角度校正、去黑白边、高压缩比压缩和文档化归档处理,且着重介绍了算法的难点及其解决方案。

关键词:倾斜校正;自动裁剪;自适应阈值分割;高压缩比压缩

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)28-0217-03

Abstract:in this paper, a variety of printed and handwritten paper materials by scanning the results after the formation of the image, and even history scans of old handwritten data image or image quality is not ideal, by analyzing the common characteristics of batch image, the algorithm design, the final realization of the JPG, including a variety of PDF the bulk of the image format scan angle correction, go to the black and white edge, high compression ratio and document archiving, and emphatically introduces the algorithm of difficulties and solutions.

Key words: tilt correction; automatic clipping; adaptive threshold segmentation; high compression ratio

1 引言

在将纸质文档通过图像扫描设备转换为文本图像并进一步进行归档的过程中,由于人为因素或机械设备误差的影响,文档图像普遍存在图像质量不理想的状况,一般包括图像有黑边或白边、某种程度的倾斜、对比度较差等问题;此外,要符合归档要求,图像文件的压缩格式和图像大小也必须符合特定的要求。只有将图像中存在的问题进行修正后再按要求归档,才有利于纸质材料的统一保存和归档管理,以进一步实现办公自动化的要求。

我们在扫描文档时,会遇到的人为因素中,通常包括纸张放置存在倾角或纸张放置不平整的情况,这些人为因素会导致图像整体明暗不均或使扫描的图像在边缘处留有难看的黑边,另外,纸张大小不恰当也会使扫描的图像在边缘处有黑边或灰边。这些黑边或灰边与纸张的底色反差很大。

目前,绝大多数的扫描仪都带有内置的图像处理模块。扫描仪自带的内置图像处理程序将重点放在图像清晰度的改善上,并不重视图像的倾斜校正和黑边等问题,且对图像最后的格式和压缩比采用通用算法设计,用户只能通过菜单选择图像文件的保存格式,而无法决定图像的压缩比。这样的内置图像处理模块不但无法完全适应办公自动化对图像处理的需要,更无法进行大批量图像的批量化自动处理,无法提高办公效率。

目前,存在一些流行的扫描优化软件,即可以先将扫描图像保存起来,再安装此类优化软件,对图像进行进一步优化。这一类的优化软件通常可以对扫描图像进行基本的修正,如旋转、黑边补白、裁剪、改变文件格式等。但是,这些软件中使用的优化方法,都是利用手动输入参数的操作方法来实现的,这需要使用者先自行观察图像中存在的问题,然后点击相应菜单并输入自己估算的参数。例如,图像旋转校正的角度是由用户手动输入的,如果发现结果不理想,再调整参数。这样的逐张手动处理的方法是无法实现扫描图像的自动化和批量化处理的。

目前,还存在少数第三方的硬件驱动程序,可以直接优化底片扫描的结果,但是多数没有实现自动批量处理。

本文在总结上述软件优缺点的基础上,提出了一种新的纸质材料扫描图像自动化批量处理流程。本文将处理过程分为二值化、倾角检测、旋转校正、去边、压缩等步骤,使每一步都能自动执行并能够一次性处理批量图像。在倾角检测中,利用Radon变换,快速、准确地计算出对应的文本行的方向角,从而得到整个页面的倾斜角。通常页面倾斜旋转校正采用旋转变换的方法。

2 二值化

由于原始扫描结果图像一般保存为JPG格式或PDF等格式,且默认保存为真彩色图像。首先应该对扫描结果图像进行二值化处理,将其作为黑白图像来处理,一方面是可以减少后面几个计算步骤的数据量,另一方面也有利于后续算法的设计和实施。由于后续的裁剪和倾角检测等操作对二值化要求并不高,经过实验对比,常用的二值化方法,如Otsu法、全局阈值法等,都能满足要求,且效果差别不大。在此,可任选一种即可。

3倾角检测和旋转校正

由于扫描仪的扫描头是在特定背景下获得的扫描结果图像,扫描图像经过二值化后,背景部分有可能全部变黑。由于深色背景的影响,传统的倾斜校正法,如Hough变换法、投影法都不能准确地进行倾角检测。

本文的解决办法是采用Radon变换来进行倾角检测。一条直线沿它的法线方向投影所得的投影最长,而沿与其平行方向投影则所得的投影最短,Radon变换理论就是这样一种投影理论。用这种方法可以检测图像中的直线,例如纸张的边缘可以形成直线,纸张中的表格中的线条可以形成直线,稿纸中的线条可以形成直线,通过这些直线,可以确定图像的倾角大小,进而逆向处理,即可对图像实现旋转校正。

文本图像的倾斜校正可分解为倾角检测和旋转校正两个问题,但重点在于倾斜角的检测。

目前最常用的倾斜角的检测有基于Hough变换的方法、基于交叉相关性的方法、基于投影特征的方法、基于Fourier变换的方法、基于 K—最近邻簇的方法等。

Radon变换与计算机视觉中的Hough变换很相似,我们可以利用Radon变换来检测图像中的直线的倾斜角度。利用Radon变换检测直线倾斜角度的具体步骤为:

1) 用edge函数计算图像的边缘二值图像,检测出原始图像中的直线;

2) 计算出边缘图像的Radon变换,再对每一个像素为1的点进行运算;

3) 检测出Radon变换矩阵中的峰值,这些峰值对应原始图像中的直线。

Radon变换矩阵中的这些峰值的列坐标就是与原始图像中的直线垂直的直线的倾斜角度,所以图像中直线的倾角为90°减去峰值的列坐标。

得到页面的倾角之后,便可对文本图像进行校正。一般的倾角校正算法都采用逆向旋转的方法来实现,运算量通常较大。本文采用一种图像快速高精度旋转算法来简化旋转过程。这种方法只需使用浮点运算计算出第一行第一列像素点的逆向位置,其他像素点的定位可通过判别误差项大小和位置增量来得到,完全消除了传统方法中双层循环内大量浮点乘法运算。因一般嵌入式平台处理器的浮点运算效率较低,该算法在计算逆向映射点位置时采用的增量定位思想,避免了旋转过程中的大量浮点运算,提高了图像旋转的效率。

4 去边

旋转校正后的图像中,仍然没有解决掉图像有效部分之外的黑边或白边的问题,本文的解决办法是,鉴于我们对纸张区域以外的区域并不关心,经旋转后的纸张的上边缘是基本水平的,所以,我们可以提取出纸张的有效部分,自然可以将纸张外围的黑边或白边裁剪掉。

对于图像子区的选择问题,目前还没有非常有效的解决办法。其中一种方法是,对于选取的子区根据其内部的连通区特征来判断是否为纸张所在的子区,这种方法需要对整个纸张所在子区进行连通域分析,耗时较多。另一种方法是,根据纸张子区的梯度图统计分析来判定是否为纸张内部子区。这种判定方法无法用数学公式准确表达,过多依靠经验值来判定,准确率较低。以上两种方法均采用随机策略来选择子区,最坏情况下需要遍历整幅图像才能找到合适子区,并且随机方法并不是全图最优的选取策略。

本文在总结上述算法的基础上,提出了一种利用黑边分布特征的新的子区提取方法,通过对图像矩阵在四个方向上分别遍历,在遍历的过程中对图像中出现的像素值进行概率统计,当非黑边像素值出现的概率达到一定比例时,认为已不属于黑边范围,可以进行裁剪的动作。同理,对于白边的处理也采用统计方法。

5 压缩和归档

此时,图像经过了二值化、旋转校正、去黑边等操作,且这些操作都不需要人为输入参数或手动操作,全部自行判断执行,图像效果已基本达到要求。但是此时的图像仍然是一个以JPG格式保存的、图像尺寸较大的、数据量也较大的二值图像,仍然不符合归档和长期保存的要求。

归档和长期保存时,应对图像有统一的大小和压缩格式的要求。首先,应对图像的大小进行改变,即对图像按照要求的尺寸进行相应比例的缩小,在缩小图像的同时,应注意检查图像质量的下降情况。其次,应按照要求的格式对进行压缩。例如,本文中选择TIFF格式作为图像文件的最终保存格式,并且在TIFF的众多压缩协议中选择第四组压缩协议。

那么,以上的描述过程为对一张扫描结果图像的优化处理过程,在实际的办公应用中,通常会遇到批量扫描图像需要优化的情况。例如,对一本书进行扫描,对一批报表进行扫描等。那么,怎样实现扫描图像的批量化优化处理呢?

这样的情况下,我们通常会先将需要扫描的资料原件进行手动批量扫描,在计算机中会将生成的批量扫描图像保存在特定的文件夹下。之后,工作人员可以对这些图片进行分类,并存放在某个特定的文件夹中,也可以在一个文件夹下建立多个子文件夹用于存放不同类别的图像。

在优化程序启动时,首先弹出对话框,供用户选择要处理的批量扫描结果图像所在的路径,然后,程序会对该路径下的各个文件夹依次进行递归遍历,在遍历的过程中,对图像依次优化,直到遍历到该文件夹的最内层,不再有子文件夹时返回,继续对下一个文件夹进行递归优化。在优化的过程中,根据原先的扫描结果图像保存的树形目录结构,建立相似的目录结构,将优化后的图像保存在对应的目录中。这样,优化后的图像的分类存放和优化前的分布结构是相同的,工作人员不需要再对优化后的图像进行分类整理,且查找相应图片时会更加便捷。

6 结束语

本文最终能够实现批量扫描图像的自动阈值化处理、自动旋转校正和自动剪取、压缩等功能,最终的结果可以形成高压缩比的TIFF图像文件,还可以进一步形成PDF文档,实现电子化归档。

本文对图文图像的倾角检测和旋转校正进行了讨论和研究,提出了一种新的扫描图像的倾角检测方法和一种更加快捷简便的旋转校正方法。大量实验结果表明,新的算法简单实用,计算时间短,具有较好的性能,同时对今后进行扫描图像的进一步模式识别奠定了良好基础。

Radon变换算法的抗噪性能较好,并具有较好的抗干扰性和尺度相关性,适合在有噪声源的环境中使用,但Radon变换法在线段检测中仍存在不足,有待改进。

参考文献:

[1] 邓白云.二维码图像倾斜校正中的算法研究综述[J].工业控制计算机,2016,29(2):77-78.

[2] 曾凡锋.一种快速文本图像倾斜校正方法[J].计算机应用与软件,2015,32(4):181-185.