发明名称 一种碎纸机破碎英文文档的恢复方法
摘要 本发明公开一种碎纸机破碎英文文档的恢复方法,具体包括图像数字化、图像预处理和碎片拼接三个步骤,其中,图像预处理包括对边界点利用灰度变化趋势进行二值化处理。本发明可以短时间内拼接出整张英文文档,减少了人力,提高了工作效率。
申请公布号 CN103700081A 申请公布日期 2014.04.02
申请号 CN201310694779.7 申请日期 2013.12.17
申请人 河海大学 发明人 沈亚雄;雷浩;杨捷
分类号 G06T5/50(2006.01)I;G06T7/00(2006.01)I 主分类号 G06T5/50(2006.01)I
代理机构 南京苏高专利商标事务所(普通合伙) 32204 代理人 柏尚春
主权项 1.一种碎纸机破碎英文文档的恢复方法,其特征在于包括以下步骤:(1)图像数字化:使用扫描仪对纸质英文文档碎片进行处理,并输出BMP格式的原始图像f(i,j),共有这样的图像p×q张,其中p指每一列碎纸片的张数,q指每一行碎纸片的张数;(2)图像预处理:步骤一、对BMP格式的图像文件进行预处理,提取图像的灰度,所有处理后的每张图像都是一个m×n的灰度矩阵,其中m指灰度矩阵的行数,n指灰度矩阵的列数;步骤二、分别处理左右边界点;对于左边界点,若灰度值为255,则变为1;若灰度值为0,则不变;若灰度值为0~255之间的数,则根据次边界点的灰度值,将灰度值变为0或1,具体步骤为:将最左列第i行的灰度值Z1i与次左列同行的灰度值Z2i进行比较,若Z1i&gt;Z2i,则Z1i=0,反之则Z1i=1;对于右边界点,若灰度值为255,则变为1;若灰度值为0,则不变;若灰度值为0~255之间的数,则根据次边界点的灰度值,将灰度值变为0或1,具体步骤为:将最右列第i行的灰度值Y1i与次右列同行的灰度值Y2i进行比较,若Y1i&gt;Y2i,则Y1i=1,反之则Y1i=0;其中,Z1i是指m×n的灰度矩阵中最左列第i行的灰度值,Z2i是指m×n的灰度矩阵中次左列第i行的灰度值,Y1i是指m×n的灰度矩阵中最右列第i行的灰度值,Y2i是指m×n的灰度矩阵中次右列第i行的灰度值;步骤三、处理中间点:通过设定灰度阈值将左右边界点之外的其他部分进行二值化处理,若一点的灰度值大于该阈值,则设定为1即为白点,反之设定为0即为黑点,所有处理后的每张图像都是一个m×n的二值化矩阵,其中m指二值化矩阵的行数,n指二值化矩阵的列数;(3)碎片拼接:1)、提取出处于同一行的破碎纸片,52个大、小英文字母中仅有7个字母会通过的四线三格纸的中、下格分界线,将四线三格纸中的第三条线作为每张碎纸片的定位线;定位线所处的行白点数目较少,而定位线的下一行则几乎全是白点;根据这一特征,将所有纸片的二值化矩阵按行求和,记为A<sub>di</sub>,其中A<sub>di</sub>表示第d张纸片第i行二值化矩阵在该行求和的值;任取一张纸片d<sub>1</sub>,找到其定位线所处的行h,则可以得到一个值B:<![CDATA[<math><mrow><mi>B</mi><mo>=</mo><mfrac><mrow><msub><msub><mi>A</mi><mi>d</mi></msub><mn>1</mn></msub><mi>h</mi><mo>+</mo><mn>1</mn></mrow><mrow><msub><msub><mi>A</mi><mi>d</mi></msub><mn>1</mn></msub><mi>h</mi></mrow></mfrac></mrow></math>]]></maths>若第d<sub>2</sub>张纸片第r+1行二值化矩阵在该行求和的值<img file="FDA0000439382630000022.GIF" wi="166" he="66" />与第r行二值化矩阵在该行求和的值<img file="FDA0000439382630000023.GIF" wi="112" he="69" />之比近似等于B,则第d<sub>2</sub>张纸片的定位线在r行,即:<![CDATA[<math><mrow><mi>B</mi><mo>-</mo><mi>W</mi><mo>&le;</mo><mfrac><mrow><msub><msub><mi>A</mi><mi>d</mi></msub><mn>2</mn></msub><mi>r</mi><mo>+</mo><mn>1</mn></mrow><mrow><msub><msub><mi>A</mi><mi>d</mi></msub><mn>2</mn></msub><mi>r</mi></mrow></mfrac><mo>&le;</mo><mi>B</mi><mo>+</mo><mi>W</mi></mrow></math>]]></maths>其中,W为常数,根据分行的效果确定,通过本步骤可找出所有纸片的定位线所处的位置,定位线位置相同的碎纸片就处于同一行,进而可挑出处于同一行的破碎纸片;2)、将提取出的每一行的破碎纸片进行纵向拼接;因为打印文档的四周均有留白,所以在纵向拼接之前可确定出一行的首列,即<img file="FDA0000439382630000025.GIF" wi="384" he="82" />,则说明第k<sub>1</sub>张纸片排在同行碎纸片的首列;确定首列之后其他部分的碎纸片可以通过比较两个纸片左右两列最边缘列的相似程度来进行排序,即使得<img file="FDA0000439382630000026.GIF" wi="472" he="81" />最小,即认为第k<sub>2</sub>张碎纸片的最左列和第k<sub>1</sub>张碎纸片的最右列最为相似应该拼接在一起;重复上述过程,直到拼出整行图像;其中,<img file="FDA0000439382630000027.GIF" wi="132" he="76" />是指第k<sub>2</sub>张碎纸片m×n的二值化矩阵中最左列第i行的值,<img file="FDA0000439382630000028.GIF" wi="122" he="69" />是指第k<sub>1</sub>张碎纸片m×n的二值化矩阵中最右列第i行的值,m是碎纸片的二值化矩阵的行数;3)、将上述步骤2)中已经拼接好的p张碎纸片提出,提取出每张碎纸片最上行的二值化矩阵S1j和最下行的二值化矩阵X1i;因为打印文档的四周均有留白,所以可以很容易的确定出最上一行的碎纸片,即<img file="FDA0000439382630000031.GIF" wi="442" he="102" />则说明第t<sub>1</sub>张纸片为首行;确定首行之后,其他部分的碎纸片可以通过比较两纸片最边缘列的相似程度来进行排序,即使得<img file="FDA0000439382630000032.GIF" wi="452" he="120" />最小,即认为第t<sub>2</sub>张碎纸片的最上行和第t<sub>1</sub>张碎纸片的最下行最为相似应该拼接在一起,重复上述过程,直到拼出整张图像;其中,n×q是指按行拼接后碎纸片的总列数,<img file="FDA0000439382630000033.GIF" wi="122" he="73" />是指第t<sub>2</sub>张碎纸片m×nq的二值化矩阵中最上一行第j列的值,<img file="FDA0000439382630000034.GIF" wi="138" he="95" />是指第t<sub>1</sub>张碎纸片m×nq的二值化矩阵中最下一行第j列的值。
地址 210098 江苏省南京市鼓楼区西康路1号