碎纸片拼接复原

分析

分析参照该论文:https://wenku.baidu.com/view/b74ef75902d8ce2f0066f5335a8102d277a26173.html
碎纸片复原
1.1
问题一
将图像转化成灰度矩阵
Imread函数转化0-255
第i个碎片的灰度矩阵
Y1:取所有碎片最左列组成新矩阵
Y2:取所有碎片最右列组成新矩阵
Ωi:每一个的左列分别跟每一个最右列的差,绝对值最小则匹配
由于纸片上下边都是空白,将矩阵缩为1978*18
求差值时考虑到“丿”,因此取
在这里插入图片描述
对于最左边跟最右边纸片:左边缘跟右边缘都为225,因此
在这里插入图片描述
Imshow函数合并
基于,边缘部分的黑白分布是否相近,判断相连可能性
相关系数法
在这里插入图片描述
Cov(X,Y)为X与Y的协方差,Var[X]为X的方差,Var[Y]为Y的方差
利用SPSS软件计算各个碎片左右边缘分别与碎片左右边缘做相关性分析
问题二

中文:
先按行分类
后采用字体矩形模型?同行间排序
接着匹配模型?拼出原文

先将图像转化成灰度矩阵
根据字体行分组法:
首先对每一行求和得到一个新的矩阵,假设灰度值等于255*72,这一行就全都为白色,称为间隔行,接着记录下第一个字体行与间隔行的分割线作为行特征位置
做出改进:类似于“员”这样的字中间存在空白行,加入判断消除影响,沿垂直方向记下行特征位置。判断:记下该行特征位置与下一个行特征位置之间的距离,小于n(间隔行高度)则舍弃,直到取到正确的行特征值
最后分成了12组,第12组还有四个剩余,是换行,采取人工干预成功分成11组
Inshow函数合成判断基本正确


下面开始行排序,最左边碎片左边缘空白,最右边碎片右边缘空白
先转化为灰度矩阵,采取列相加得新矩阵,若前(后)几行值等于180*255,找出首位碎片

字体矩形判断模型:字体的高度宽度基本一致,字体间空隙的高度宽度基本一致,一个字体就是一个矩形,即一个矩形被切割成两个小矩形,则该两个小矩形原本是相连的。
通过未被切割的字体确定原始矩阵大小,得到矩阵宽度L_字体和L_空白
将灰度矩阵行向量之和组成一个新矩阵,字体行上边界位置pi,下边界位置qi,对每个灰度矩阵处理,从pi到qi,列相加得到一个新的矩阵,将值为255*(pi-qi+1)的记做-1,其余的为1得新的矩阵,分别从左右算,<0个数为空白间隔,>0个数为字体宽度(要先排除特征行异常的碎纸片)得到左右空白矩阵宽度,将每个碎片右空白矩阵宽度与同行所有碎片左空白矩阵宽度之和匹配,若为L_空白则相连,最终得到同行排序结果。(完)
英文:
四线格位置模型?先分组
发现部分标号基线相同?却与不同的行匹配?人工干涉?
行内匹配模型?同行排序

①先转化为灰度矩阵,再转化为0-1矩阵,大于200的为0(白),其余的为1(黑),得新矩阵,对行求和,得新矩阵,代表黑点个数。
②四线格位置归类:以第二部分(第三及第三线之间)第三线的位置代表行特征位置。以例子画图表示黑点在每一部分分布个数证明。对新矩阵,两两相减?若符合ε>δ(δ=20),则找到第三线位置。但是排出来效果不太好
改进:如“e”全部在第二部分,中间部分发生突变影响第三线位置,因此再次改进第三线位置。
确定完整行高,根据“058.bmp”得出一线与四线之间宽度51+空白行高度10,为行高61,分析,如果第二个正向突变的位置与第一个的位置之间的差为行高的整数倍,说明结果合理。
如果多出行高的整数倍,则认为是“e”影响,将其修正:加上半个第二部分高度作为第三线位置
其余特殊情况人工干预分组
③行排序:先化为灰度矩阵,取每张碎片最左边减同行所有碎片最右边,若相减值为0,则记为1,若其他则记为0,列相加,值最大即最匹配。
由于碎片过小,误差较大,当最大值与次大值之间相差一定阈值以内,则误差较大,加入人工干预。

你可能感兴趣的:(数学建模)