拼图问题数模论文

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

拼图问题

摘要

本文研究被规则切割的图片的拼接复原问题。使用MATLAB软件得到图片的RGB值后,我们建立了RGB颜色模型、欧氏距离模型以及贪婪算法模型。以图片上下边缘RGB值作为解决问题的基础,以欧氏距离作为图片拼接的具体判断依据,并根据贪婪算法的思想得出最优的图片拼接结果。

针对问题一,首先将16张被切割的图片上边缘与原始图上边缘的RGB值进行欧氏距离比较,确定第一行的四张图片。然后分别将第一行图片下边缘与其他图片上边缘RGB值进行欧氏距离比较,循环进行,直至得出全部四行四列图片的正确排列。

针对问题二,由于没有原始图,我们将16张图片分别假设位于第一行,根据贪婪算法,找出最可能位于其下方的其他三张图片。至此得出16列可能的图片组合,然后进行人工筛选剔除上下拼接明显不正常的图片组合,最后得出四行四列图片的正确排列。

关键词:Matlab图像处理RGB颜色模型(图像的数字化处理模型)欧氏距离贪婪算法边缘匹配度

一、问题重述

拼图是一种解决平面空间填充和排列难题的益智游戏,要求玩家将印有局部图案的扁平零片进行拼组从而展现出完整图案。在图像处理的计算机时代,为了解决这样一个图片拼接复原的问题,其核心是碎图片的图像信息的科学提取和算法处理等。彈贸摄尔霁毙攬砖卤庑。

请讨论以下问题:

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

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

二、问题分析

考虑到所要拼接复原的图片都是被规则切割的,我们可以使用MATLAB软件得到图片的数字信息。由于以BMP格式储存的图片读入MATLAB后是主要以灰度值矩阵来储存其图片信息,不能准确地反映彩色图像的特征,所以我们首先要将图片格式全部转化为JPG格式,以得到图片的RGB值矩阵。

得到RGB值后,我们并不需要用到全部的值,而只需要用到其上下边缘的RGB值,并以此作为解决问题的基础,另外采用欧氏距离的概念作为图片拼接的具体判断依据,由此确定图片之间的边缘匹配度。

在问题一中,基于题目已给出原始图片,首先将16张被切割的图片上边缘与原始图上边缘的RGB值进行欧氏距离比较,确定第一行的四张图片。

注意在这一步骤中,16张被切割的图片的大小是不一致的(存在137×91、137×92、138×91、138×92四种尺寸情况),所以在进行被切割的图片之间的欧氏距离计算式我们均采用上下边缘的前面137个像素点的RGB值进行计算。

在之后的叙述中均为如此,不再进行特别说明。

在进行被切割的图片与原始图片的比较时,首先采用其上边缘的前137个像素点的值进行欧氏距离计算,在得出第一行的第一张图片后,将原始图上边缘的像素点除去第一张图片上边缘全部像素点个数,然后用随后的137个像素点与其他被切割的图片进行计算比较,得出第一行第二张图片。以此类推直至得出第一行全部四张图片。

然后将第一行的第一张图片作为目标图片,选取其下边缘137个像素点的RGB值,与其他15张图片的上边缘137个像素点的RGB值做欧氏距离计算,得出与其距离值最小的图片,即为目标图片正下方的一张图片。再将这张图片作为新的目标图片,重复上述操作,直到找到这一列全部的四张图片

同样对第一行的其他三张图片进行上述的操作,得出正下方的另外三张图片。至此可以得出16张图片的完整拼图。

针对问题二,由于没有原始图,我们运用贪婪算法,将16张图片分别假设位于第一行,与问题一种确定了第一行的图片相似处理,找出最可能位于其下方的其他三张图片。至此得出16列可能的图片组合,然后进行人工筛选剔除上下拼接明显不正常的图片组合,最后得出四行四列图片的正确排列。

注意在问题二中,所给图片的大小都是一致的,因此在进行RGB值的欧氏距离计算式不用考虑问题一中的情况,直接将上下边缘全部像素点的RGB值进行欧氏距离计算。

三、模型假设

1、假设将图片格式由BMP格式转化为JPG格式后不会影响到图片读入MATLAB 后所给出的数字信息;

2、假设在问题一的处理中部分舍去上下边缘第138各像素点RGB值的图片在进行之后的欧氏距离的计算时不会受到影响;

3、假设图片在被切割的过程中边缘没有受到严重的损坏;

4、假设扩展的欧氏距离计算公式能够反映图片之间的实际匹配度;

5、假设贪婪算法在多次循环使用中所得出的结果是一致的。

四、符号说明

五、模型的建立

5.1 RGB颜色模型

我们也可以说是图像的数字化处理模型。

5.1.1RGB颜色模型简介

RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。

RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0~255范围内的强度值。RGB图像只使用三种颜色,就可以使它们按照不同的比

例混合,在屏幕上呈现16777216(256 ×256 ×256)种颜色。

RGB是从颜色发光的原理来设计定的,通俗点说它的颜色混合方式就好像有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于两者亮度之总和,越混合亮度越高,即加法混合。

红、绿、蓝三个颜色通道每种色各分为255阶亮度,在0时“灯”最弱——是关掉的,而在255时“灯”最亮。当三色数值相同时为无色彩的灰度色,而三色都为255时为最亮的白色,都为0时为黑色。

故可以建立以红色R、绿色G、蓝色B为坐标轴的三维坐标体系,其示意图如下:

5.1.2RGB颜色模型的具体实现

在MATLAB中RGB图象也被称为真彩图像,在8位型数据储存形式下,图片的RGB值储存时只需要一个m×n×3阶的三维图像数据矩阵,每一面中元素下标对应于图像像素点的下标(m,n),而元素值对应一个基色(红、绿、蓝),3个面组合构成其真色。其中元素值的范围为(0,255)。

通过图形的RGB值,我们便可以了解到图形的具体特征。尤其针对我们所研究的被纵横切割的图片,都是规则的矩阵形状,使用MATLAB软件便可以得出图片的RGB值矩阵。

另外由于所要处理的问题是图片拼接问题,所以我们主要研究图片的边缘RGB值,即取m为1或是图片最大行数,将n全部取到,将对应的RGB值存入二维矩阵中,这样就便于我们计算。操作过程示意图如下:

相关文档
最新文档