基于图像处理的文档碎纸拼接技术研究

时间:2022-09-05 04:54:56

基于图像处理的文档碎纸拼接技术研究

[摘 要]碎纸拼接技术是指利用纸质碎块文件所携带的信息,对其进行准确高效的复原。针对由碎纸机规则纵切或是规则横纵切所得碎纸片,通过碎片信息导入、图像边缘提取和骨架特征对比等步骤,给出了基于matlab图像处理的拼接复原方法,以及复原最终的完整效果图。

[关键词]图像拼接 图像提取 膨胀算法 matlab

[中图分类号] G642.4 [文献标识码] A [文章编号] 2095-3437(2015)08-0133-02

碎纸片的拼接复原问题在现实生活中经常碰到,其技术在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。[1]

用计算机进行拼接复原时,首先要对碎片信息化,即将碎片信息导入电脑(扫描,拍照导入),其次需要进行图像信息提取,最后采用算法对图像信息进行处理。[2] [3]

本文主要针对两种情况,即对于给定的来自同一页印刷文字文件的碎纸机破碎纸片的两种情形:仅纵切或是既纵切又横切,建立碎纸片拼接复原模型和算法,将碎片数据进行拼接复原,并将复原结果以图片形式表示。

其中文件仅被纵切的情形,假设每页纸被切为19条碎片,每条碎片被编号为1000.bmp、1001.bmp、…1018.bmp,其中部分碎片如图1所示;

图1 部分纵切碎片

对于文件既被纵切又被横切的情形,假设每页纸被切为11×19个碎片,每个碎片被编号为2000.bmp、2001.bmp、…2208.bmp,部分碎片如图2所示。

图2 部分纵切且横切碎片

一、纵切碎片的拼接复原

首先读取图像文件的信息,文档为索引图像,由于其索引表的RGB值在每一个索引点上都相同,所以表现出的是灰度不同的黑白信息。模型的任务是对图像复原,因此在处理时只需要按简单的灰度图像进行处理即可,但仍有如下难点:

其一,碎片图像轮廓特征不明显,都为规则矩形;

其二,图像内部特征明显,但是算法容易出现错误(如有的行没有文字)。

针对上述难点可采用如下方法解决[4] :

首先,用matlab图像处理工具对其进行骨架化,直接在图像边沿比对骨架特征(抽取到三个像素以内),如果完全相同则说明两张图像有左右关系。

其次,用matlab图像处理工具对每一个碎片进行边缘提取(先做膨胀运算后做腐蚀运算),对碎片观察,保持1008.bmp为复原后的最左侧部分,以其右侧为起始点进行边界逻辑值比较。如果两张图像相似度最高,则说明两张图像为左右关系。

再次,创建图像边缘白布原始信息为1780*72扩展为1780*90,借助工具箱对边缘进行相似处理,比对多出来的信息与另一图像边缘的相似度,如果大于某个阀值则说明两图像有左右关系。

最后,创建字体库,提取一个图像的边缘上的某个文字,用字体库的图形阵差集,进行比对,相似度大于某个阀值说明两张图像有左右关系。

具体处理时,在读入数据时将其放在Cell格式的动态结合中,由于经过处理后的碎片边缘的值会因为边缘外的影响而变化,即边缘全部变为白色,如图3所示。

图3 碎片边缘图

这样文字的骨架可以在边界处凸显出来,通过对这些骨架点记录并将其存入一个矩阵中,如

Org=[10 11 12 67 68 69 110 115 116];

如果另一个矩阵为

Tmp=[100 110 120 670 680 690 1100 1150 1160],则两个矩阵之差的范数值一定很大。假定当前范数值为最小值,通过对最小值的不断更新最终找出和矩阵Org范数值相差最小的碎片所在的列,即可认为两者有左右关系。

由于可以通过肉眼观察及简单的算法找出最左边一列,因此由“参照值”和“递推公式”可以查出所有的正确图像。该算法用了图像处理工具箱的bwperim命令,用法如下所示。

BW2=bwperim(BW1)returns a binary image containing only the perimeter pixels of objects in the input image BW1.A pixel is part of the perimeter if it is nonzero and it is connected to at least one zero-valued pixel.The default connectivity is 4 for two dimensions,6 for three dimensions,and conndef(ndims(BW),’minimal’)for higher dimensions.

其功能是提取一个连通区域的边界,由于该问题的关键在边缘,而该命令在边缘时能产生如图3的效果,所以选择该算法可以方便快捷的完成任务。尝试过提取骨架,并且去除尖齿,但是效果不理想,如图4所示,且边缘特征信息量较大,计算方法较为复杂。

图4 提取骨架效果图

对于规则纵切问题,上述方法均可,问题的关键是提取文字的中心,matlab软件有可用的工具箱,但要经过复杂的修改。

二、纵切且横切碎片的拼接复原

当纸质文件既被纵切也被横切之后,有两个重要的问题出现:

其一,复原后的左右边界不能确定;

其二,碎片有可能在空白部分分开,分开的位置也是随机的,从而很难用上面的方法解答。因此考虑以下解法:

首先,确定行数相同的序号,在行数相同的序号中进行类似纵切问题方法的排序。虽然没有确定的首列,但是可以左右同时进行排序。

其次,用三个间隔固定宽度的(宽度为行间距,每两个之间为行间距加字高)图像进行由上到下的逐行比对,若有三个白条都比对上后,记下平移位置,最后把平移位置相同的归为一类,即为同行。

再次,找出可能同行的序列,可用对字符中心值进行膨胀,然后再比较相同。接着排序,多出来的部分放回数据进行下一次同样的操作。

最后,找到任意一个碎片,通过对四周进行边缘检测找到相邻元素,依次递归计算,直到有纯白的边沿(上下)出现。此时通过对行间的比较确定上下纯白的连接关系,如图5所示。

图5 纯白连接关系效果图

用于借助matlab工具箱提取全部碎片的文字中心位置,直接调用工具箱的命令可以进行中心提取,设定程序中的输入参数为已填充的全部图像信息,而输出参数为每个图像文字中心Cell型。经过算法改进后,文字填充后的效果如图6所示,最终复原拼接文件如图7所示。

图6 改进算法效果图

图7 碎纸片复原效果图

三、结论

图像拼接技术作为数字图像处理的一个重要分支,不断与其他学科结合,其应用日益广泛。本文主要研究了图像拼接技术,分析了由碎纸机纵切或者横纵切所得的碎纸片,在matlab算法支持下的拼接复原技术与方法。该方法在理论上还处于初级阶段,还需对其做大量深入、细致的研究工作。

[ 注 释 ]

[1] 陶波,于志伟,郑筱祥.图像的自动拼接[J].中国生物医学工程学报,1997(4):29-35.

[2] 钟家强,王润生.基于边缘的图像配准改进算法[J].计算机工程与科学,2001(6):25-29.

[3] 罗智中.基于文字特征的文档碎纸片半自动拼接[J].计算机工程与应用,2012(5):207-210.

[4] 杨高波,杜青松.MATLAB图像/视频处理应用及实例[M].电子工业出版社,2010.

上一篇:研究生担任临床PBL教学“引导者”的若干思考 下一篇:浅谈大学生实践创新项目对机械类应用型创新人...