拼图问题模型

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

拼图问题

摘要

本文旨在利用Matlab科学提取BMP格式图片信息,并将BMP格式图片灰度化,得到图片的灰度矩阵,利用灰度矩阵的特性,建立数学模型,解决拼图问题中的两个问题,使得在人工干预尽可能的少的情况下对碎图片进行拼接还原,尽可能全自动化的解决拼图问题,提高拼图效率。

针对问题一,有原图的拼图问题。我们建立模型一,给出基于原始图灰度矩阵的检索算法。首先对图片进行预处理,通过Matlab将原图与碎片转换成灰度图并得到各自对应的灰度矩阵,以原图矩阵为母板,利用检索程序,得到原图与碎片的一维向量,由于向量的范数在敛散性和连续性上具有十分相似的性质,采用向量的一范数,对图片进行距离估计,最小距离为匹配度最高的碎片。边界匹配模型从角到边、由外至内确定所有碎片在原图的对应位置。矩阵对应位置即图片还原排列顺序。

针对问题二,无原图的拼图问题。我们建立模型二,给出了基于旅行商问题的拼接模型。同样先对所有碎片进行预处理,得出各碎片的灰度矩阵。由向量的一范数给出碎片间的距离。先由距离对碎片进行行的分组,任取n张碎片为起点,利用旅行商问题求解与其余碎片的最佳匹配距离,碎片在其右边依次排列,加入人工干预,将碎片进行分组,保持每类中碎片的数量相同。再利用旅行商问题的拼接策略对各组碎片之间进行纵向拼接还原。问题二中的匹配距离为衡量碎片边界匹配程度的指标,匹配距离越短,说明两碎片边界越相似,匹配程度越好。

模型均由Matlab编程求解。对于附件一的还原没有进行人工干预,对附件二的还原人工干预的节点在对行的分组。

最后,结合模型分析的结果,对拼图问题提出了建议,并对模型作出了客观的评价。

【关键词】灰度矩阵矩阵检索完全匹配边界匹配旅行商问题向量范数

1、问题的重述与提出

拼图是一种解决平面空间填充和排列难题的益智游戏,要求玩家将印有局部图案的扁平零片进行拼组从而展现出完整图案。图片数量在一定小范围内,人们可在短时间内对其进行拼接还原,但图片数量巨大时,人们需要大量的时间去完成,甚至无法完成。本文旨在研究利用碎图片的图像信息的科学提取和算法处理,提高拼图效率。讨论下列问题:

1. 对于给定原始图像的碎片,如何对附件1中整齐划割的图像进行拼接复原。复原过程不需要进行人工干预。复原结果以图片形式及表格形式表达。

2. 对于未给定原始图像的碎片,如何对附件2中整齐划割的图像进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果表达要求同上。

2、符号说明

k : 碎片数;

A : 原图灰度矩阵;

ij a 原图灰度矩阵的第i 行第j 列的元素;

k A : k 张碎片的灰度矩阵;

k k i j a :k 张碎片的灰度矩阵的第i 行第j 列的元素;

k p : 完全匹配值;

d : 横向匹配距离;

h : 纵向匹配距离;

e c : 碎片的e 个分组;

()l i : 第i 幅图片的灰度矩阵第一列; ()r i : 第i 幅图片的灰度矩阵最后一列; ()t i : 第i 幅图片的灰度矩阵第一行; ()b i : 第i 幅图片的灰度矩阵最后一行;

L : 模型一原始图灰度矩阵的第一列; R : 模型一原始图灰度矩阵的最后一列; T : 模型一原始图灰度矩阵的第一行; B : 模型一原始图灰度矩阵的最后一行;

3、模型假设

1. 所有碎片可拼成一张完整图片;

2. 所有图片都是同一方向的,不存在倒置;;

3. 对附件一原图分割成碎片的过程中像素值不会产生变化;

4.

附件中编号后两位为01的图片为第一张图片,编号后两位为02的图片为第二张图片,依次类推

4、问题的分析

4.1问题一的分析

该题要求解决有原图参考的碎片还原问题。必须首先将所有图片量化,即对所有图片进行灰度化处理,得出对应的灰度矩阵。任意碎片的灰度矩阵必定可以与原图灰度矩阵的一部分相近或者相同,则可通过建立匹配模型,让碎片矩阵与原图矩阵四个角进行匹配,匹配值越低的碎片,即为对应原图该部位的碎片。依次检索出外圈碎片,再由外圈碎片,利用左右边界匹配模型确定剩余碎片在内圈位置。入位的碎片编号顺序即为拼图顺序。 4.2问题二的分析

该题要求解决没有原图参考下的碎片还原问题,因为没有检索母板,所以无法利用问题一模型解决问题,但若建立边界匹配模型,碎片拼接还原问题则可看作寻找碎片的最好排列问题,找到一个最好排列类似于在一个图中找到一条最佳路径。因此我们将该问题抽象成图论问题,碎片即位图的顶点,碎片之间边界匹配距离看作图的边权。则将碎片拼接转换成不回到原点的旅行商问题。

分组,首先我们任取几张碎片,通过左右边界匹配模型,用旅行商问题找出对所有碎片进行左右排序的几条最短路径,因为相邻碎片的边界匹配距离很小,所以同一行的几个碎片会出现连续排列的情况。通过这几条路径,人工干预将碎片排序分组,不同组别碎片数相等。还原,在利用纵向匹配距离,通过旅行商问题对各组做纵向排序,还原图片。

5、模型建立与求解

5.0图片预处理:

首先,我们需要对图片进行量化处理,利用Matlab 将所有图片转为灰度图像,则原图及k 张碎片可以表示为一个灰度矩阵,分别记为A ,k A

1111

=n m mn a a A a a ⎛⎫ ⎪ ⎪ ⎪⎝⎭,11

11

k k

k k k k

k k n k m m n a a A a a ⎛⎫

=

⎪ ⎪⎝⎭

[],0,255k k ij i j a a ∈ 其中

ij

a 的取值范围即为灰度化图片数字信息表示范围,m ,n 分别表示一张

图片在长和宽方向上的像素总个数。(程序见附录一)

这样,一张图片就转化成为了由不同像素点组成的矩阵。在此基础上,我们对其特征进行分析判断。

5.2 问题一的模型建立与求解

问题一要求在无人工干预拼接还原有原图参考的碎片,对此本文从以下个步骤进行回答:

步骤一:对处理过后的图片建立完全匹配模型,由四个角开始确定外围碎片顺序;

步骤二:利用外围图与剩下的碎片建立左右边界匹配模型,确定内围碎片顺序;

步骤三:根据上面的步骤,将附件图片拼接,以图片和表格形式展现。 5.2.1匹配模型的建立

附件一中的所有碎片是所给原图的一个部分,首先可建立完全匹配模型。它是基于碎片的灰度值与原图对应部分的灰度值相等的特性。

将第k 张碎片与原图完全匹配,即将第k 张碎片的灰度矩阵与原图灰度矩阵的部分进行匹配,求第k 张碎片整个矩阵与对应原图部分矩阵每个元素的差,再求差的绝对值,得匹配值—k p :

00

k k

k k k k m n k ij i j i j p a a ===-∑∑

通过检索整张原图与第k 张碎片的完全匹配值,得到第k 张碎片以,i j 为自变量的完全函数—(),k f i j :

()11

,k k m m n n k k i

j

f i j p -+-+=

∑∑

当完全匹配函数的值取最小时,所对应的,i j 值即为第k 张碎片11k k a

在原图中

的对应位置11k k ij a a →,所以可得目标函数:

()min ,k f i j

综上所述,整合完全匹配模型为:

()11

00min ,k k k k k k k k m m n n m n k ij i j i

j

i j f i j a a -+-+==⎛⎫

=

- ⎪⎝⎭

∑∑

∑∑

5.2.2左右边界匹配模型的建立

边界距离:

我们定义碎片左右边界匹配距离为:

()1122

10

1,2k k k k m

i n i i d k k a a ==-∑

相关文档
最新文档