版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . . . 拼图问题摘要本文研究被规则切割的图片的拼接复原问题。使用MATLAB软件得到图片的RGB值后,我们建立了RGB颜色模型、欧氏距离模型以与贪婪算法模型。以图片上下边缘RGB值作为解决问题的基础,以欧氏距离作为图片拼接的具体判断依据,并根据贪婪算法的思想得出最优的图片拼接结果。针对问题一,首先将16被切割的图片上边缘与原始图上边缘的RGB值进行欧氏距离比较,确定第一行的四图片。然后分别将第一行图片下边缘与其他图片上边缘RGB值进行欧氏距离比较,循环进行,直至得出全部四行四列图片的正确排列。针对问题二,由于没有原始图,我们将16图片分别假设位于第一行,根据贪婪算法,找出最可能位于其下
2、方的其他三图片。至此得出16列可能的图片组合,然后进行人工筛选剔除上下拼接明显不正常的图片组合,最后得出四行四列图片的正确排列。关键词:Matlab图像处理 RGB颜色模型(图像的数字化处理模型) 欧氏距离 贪婪算法 边缘匹配度一、 问题重述拼图是一种解决平面空间填充和排列难题的益智游戏,要求玩家将印有局部图案的扁平零片进行拼组从而展现出完整图案。在图像处理的计算机时代,为了解决这样一个图片拼接复原的问题,其核心是碎图片的图像信息的科学提取和算法处理等。 请讨论以下问题:1. 对于给定原始图像的碎片,如何对附件1中整齐划割的图像进行拼接复原。复原过程不需要进行人工干预。复原结果以图片形式与表格
3、形式表达。2. 对于未给定原始图像的碎片,如何对附件2中整齐划割的图像进行拼接复原。如果复原过程需要人工干预,请写出干预方式与干预的时间节点。复原结果表达要求同上。二、问题分析考虑到所要拼接复原的图片都是被规则切割的,我们可以使用MATLAB软件得到图片的数字信息。由于以BMP格式储存的图片读入MATLAB后是主要以灰度值矩阵来储存其图片信息,不能准确地反映彩色图像的特征,所以我们首先要将图片格式全部转化为JPG格式,以得到图片的RGB值矩阵。得到RGB值后,我们并不需要用到全部的值,而只需要用到其上下边缘的RGB值,并以此作为解决问题的基础,另外采用欧氏距离的概念作为图片拼接的具体判断依据,
4、由此确定图片之间的边缘匹配度。在问题一中,基于题目已给出原始图片,首先将16被切割的图片上边缘与原始图上边缘的RGB值进行欧氏距离比较,确定第一行的四图片。注意在这一步骤中,16被切割的图片的大小是不一致的(存在137×91、137×92、138×91、138×92四种尺寸情况),所以在进行被切割的图片之间的欧氏距离计算式我们均采用上下边缘的前面137个像素点的RGB值进行计算。在之后的叙述中均为如此,不再进行特别说明。在进行被切割的图片与原始图片的比较时,首先采用其上边缘的前137个像素点的值进行欧氏距离计算,在得出第一行的第一图片后,将原始图上边缘的
5、像素点除去第一图片上边缘全部像素点个数,然后用随后的137个像素点与其他被切割的图片进行计算比较,得出第一行第二图片。以此类推直至得出第一行全部四图片。然后将第一行的第一图片作为目标图片,选取其下边缘137个像素点的RGB值,与其他15图片的上边缘137个像素点的RGB值做欧氏距离计算,得出与其距离值最小的图片,即为目标图片正下方的一图片。再将这图片作为新的目标图片,重复上述操作,直到找到这一列全部的四图片同样对第一行的其他三图片进行上述的操作,得出正下方的另外三图片。至此可以得出16图片的完整拼图。针对问题二,由于没有原始图,我们运用贪婪算法,将16图片分别假设位于第一行,与问题一种确定了第
6、一行的图片相似处理,找出最可能位于其下方的其他三图片。至此得出16列可能的图片组合,然后进行人工筛选剔除上下拼接明显不正常的图片组合,最后得出四行四列图片的正确排列。注意在问题二中,所给图片的大小都是一致的,因此在进行RGB值的欧氏距离计算式不用考虑问题一中的情况,直接将上下边缘全部像素点的RGB值进行欧氏距离计算。三、模型假设1、假设将图片格式由BMP格式转化为JPG格式后不会影响到图片读入MATLAB后所给出的数字信息;2、假设在问题一的处理中部分舍去上下边缘第138各像素点RGB值的图片在进行之后的欧氏距离的计算时不会受到影响;3、假设图片在被切割的过程中边缘没有受到严重的损坏;4、假设
7、扩展的欧氏距离计算公式能够反映图片之间的实际匹配度;5、假设贪婪算法在多次循环使用中所得出的结果是一致的。四、符号说明符号符号说明R三原色中的红色G三原色中的绿色B三原色中的蓝色m像素点在图片中所在的行位置n像素点在图片中所在的列位置第i图片的上边缘RGB矩阵第i图片的下边缘RGB矩阵矩阵第j行k列的元素,k取1、2、3分别对应R、G、B值矩阵第j行k列的元素,k取1、2、3分别对应R、G、B值D欧氏距离的计算结果五、模型的建立5.1 RGB颜色模型我们也可以说是图像的数字化处理模型。5.1.1RGB颜色模型简介RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色
8、通道的变化以与它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0255围的强度值。RGB图像只使用三种颜色,就可以使它们按照不同的比例混合,在屏幕上呈现16777216(256 × 256 × 256)种颜色。RGB是从颜色发光的原理来设计定的,通俗点说它的颜色混合方式就好像有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于两者亮度之总和,越混合亮度越高,即加法混合。红、绿、蓝三个颜
9、色通道每种色各分为255阶亮度,在0时“灯”最弱是关掉的,而在255时“灯”最亮。当三色数值一样时为无色彩的灰度色,而三色都为255时为最亮的白色,都为0时为黑色。故可以建立以红色R、绿色G、蓝色B为坐标轴的三维坐标体系,其示意图如下:5.1.2RGB颜色模型的具体实现在MATLAB中RGB图象也被称为真彩图像,在8位型数据储存形式下,图片的RGB值储存时只需要一个m×n×3阶的三维图像数据矩阵,每一面中元素下标对应于图像像素点的下标(m,n),而元素值对应一个基色(红、绿、蓝),3个面组合构成其真色。其中元素值的围为(0,255)。通过图形的RGB值,我们便可以了解到图形
10、的具体特征。尤其针对我们所研究的被纵横切割的图片,都是规则的矩阵形状,使用MATLAB软件便可以得出图片的RGB值矩阵。另外由于所要处理的问题是图片拼接问题,所以我们主要研究图片的边缘RGB值,即取m为1或是图片最大行数,将n全部取到,将对应的RGB值存入二维矩阵中,这样就便于我们计算。操作过程示意图如下:我们将上边缘RGB值存入矩阵A中,将下边缘RGB值存入矩阵B中,如下:A= B=行数为为上下边缘像素点个数,三列分别代表R、G、B值。通过边缘之间RGB值比较和匹配来进行图片的拼接。5.2欧氏距离模型5.2.1欧氏距离简介欧几里得度量(euclidean metric)即欧氏距离是一个通常采
11、用的距离定义,指在多维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离的就是两点之间的实际距离。欧氏距离变换在数字图像处理中的应用围很广泛,距离是描述像素建关系的基本参数,也是目标物几何特征和相似度的重要测度。5.2.2欧氏距离的具体计算我们在运用欧氏距离模型时,实际是运用了距离的这一种度量方式,并在欧氏距离计算公式的基础上进行了进一步扩展。具体计算方式如下:以切割后图片中的第一为例,读取其下边缘RGB值矩阵(138×3的二维矩阵),另任取一图片的上边缘RGB值矩阵(以第三为例,137×3的二维矩阵):=则欧氏计算公式可表示
12、为:D=注意由于两个矩阵的行数不一我们舍弃了矩阵的最后一行RGB值。通过将某图片与多图片进行欧氏距离的计算,最后以D的值作为判断依据,D越小,说明两组数据的欧氏距离越小,也就是说边缘匹配度越高。由此找出相匹配的图片。5.3贪婪算法模型5.3.1贪婪算法简介 当一个问题的状态空间很大时,穷举法计算量可能会太大,而贪婪算法的思想则是采取目前看来最接近解状态的选择方案,它是一种不追求最优解,只希望得到较为满意解的方法。贪婪算法常以当前情况为基础做最优选择,而不考虑各种可能的整体情况,贪婪算法采用逐步构造最优解的方法,一般贪婪算法将构造可行解的工作分工作阶段来完成,在每个阶段,选择那些在一定的标准下是
13、局部最优的方案,期望各阶段的局部最优的选择带来整体最优。贪婪算法不是对所有问题都能得到整体最优解,但对围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。5.3.2贪婪算法步骤(1)确定要拼接的图片个数。(贪婪算法主要应用于问题二的解决,这里的图片个数为4,即找出某图片作为第一图片的这一列最可能的四图片的组合。)(2)读取图片的上下边缘RGB值,将图片数字化。(3)确定作为基准的图片,将其下边缘RGB值与其他图片上边缘RGB值进行欧式距离计算,得到最可能位于其正下方的图片。(4)将步骤(3)得出的图片作为基准图片重复步骤(3)直到找出以第一基准图片为第一图片的这一列的全部四图片。(
14、5)将16图片依次作为第一基准图片,进行步骤(3)、(4)的操作,直到得到16列由贪婪算法的图片组合。六、模型的求解6.1问题一的求解6.1.1问题一求解的操作流程图图一:问题一求解流程图6.1.2问题一求解的实际操作过程 将问题一中所给图片转化为JPG储存格式后将图片读入MATLAB中,得到图片的RGB值,并提取图片上下边缘的RGB值。将16切割后的图片的上边缘的137个像素点的RGB值分别与原始图片上边缘的前137个像素点的RGB值进行欧式距离计算,得出与其距离值最小的图片,即为图片拼接的第一行的第一图片。如下图所示:图二:第一图片确定方法得出第一图片后,将16切割后的图片的上边缘的137
15、个像素点的RGB值与原始图片上边缘减去第一图片上边缘的像素点数后紧接着的137个像素点的RGB值进行欧式距离计算,同样得出与其距离值最小的图片即为第一行的第二图片。然后根据同样的方法得出第一行的全部四图片,如下:图三:第一列全部四图片将第一行的第一图片作为目标图片,选取其下边缘137个像素点的RGB值,与其他15图片的上边缘137个像素点的RGB值做欧式距离计算,得出与其距离值最小的图片,即为目标图片正下方的一图片。然后将这图片作为新的目标图片,重复上述操作,直到找到这一列全部的四图片。如下图所示:图四:第一列图片确定方法然后,对第一行的其他三图片进行同样的操作,得出正下方的另外三图片。至此可
16、以得出16图片的完整拼图。上述操作都在MALAB软件中编写程序进行,无须任何人工操作。具体程序代码见附录一。6.1.3问题一的求解结果根据题目所给16切割后的图片的编号116,将6.1.2求解得出的结果列入4×4表格中如下:表一:问题一图片正确拼接顺序15912451178210631314116具体图片拼接结果如下:图五:问题一图片拼接结果6.2问题二的求解6.2.1问题二求解的操作流程图图六:问题二求解流程图6.2.2问题一求解的实际操作与求解 将问题二中所给图片转化为JPG储存格式后将图片读入MATLAB中,得到图片的RGB值,并提取图片上下边缘的RGB值。以第一图片作为目标图
17、片,进行贪婪算法,将其下边缘的137个像素点的RGB值与其他15图片上边缘的137个像素点RGB值进行欧式距离计算得出最可能在其正下方的一图片。这图片不一定是实际位于其正下方的图片,因为有些本应位于完整图形中最后一行的图片的正下方并没有图片。我们只是假设每一图片正下方都存在一图片,并在此基础上进行贪婪算法,找到最可能的那图片。然后将得到的图片作为新的目标图片,同样进行贪婪算法重复操作,直到这一列得出四图片。具体如下图:图七:目标图片正下方三图片确定方法将第2至16图片分别作为目标图片,重复上述贪婪算法步骤,则可得出16列(每列4图片)图片,具体结果如下图:图八:基于贪婪算法的16中可能结果以上
18、基于贪婪算法得出的16列图片的操作过程,均在MALAB软件中编写程序进行,无须任何人工操作。具体程序代码见附录二。在得出上述16列图片后,由于没有原始图形进行对比,我们需要进行人工筛选。上述16组合后的图片中蓝色箭头所指的衔接处都是可以看出明显不正常的衔接,因此我们很容易剔除12列图片,得出按正确顺序排列的四列图片,如下:图九:人工筛选得到的四组正确图片 至此得出最后四列仅需调整左右顺序的图片,进行简单的人工调整便可得出图片拼接结果。6.2.3问题一的求解结果首先将16图片分别假设为位于第一行,进行贪婪算法得出这一列最可能的4图片,在MATLAB中进行编程操作后得出的排列顺序矩阵如下(仍根据题
19、目所给16切割后的图片的编号116):表二、基于贪婪算法得出的16种可能结果的拼接顺序12345678910111213141516612123916451314110315731610101213339315614127412314141031212131271615104310在上述16列图片组合中进行人工筛选和拼接后得出四行四列图片的正确排列顺序矩阵如下:表三:问题一图片正确拼接顺序82151151271910461314316具体图片拼接结果如下:图十:问题二图片拼接结果七、模型的评价模型通过对每一被切割的图片相互之间(或者与原始图)的边缘值的数字化定量分析,客观地得到每一行每一列的全
20、部图片的正确顺序。采用图片的RGB指标作为判断基础,能够真实准确地反映图片的实际信息;运用扩展的欧氏距离计算方法能为图片边缘匹配度的确定提供客观地依据;基于贪婪算法的检测方法可以得到十六组最佳的图片匹配组合,便于之后的筛选;使用MATLAB软件进行编程求解能够快速准确地得出结果。但在图片的循环检测过程中,并没有省去对已确定位置的图片的检测而是每次都对其他16(或15)图片进行重复检测,这样明显增大了程序运行的工作量。但考虑到所要处理的图片数目较少以与MATLAB软件功能的强大,上述问题实际上也可以忽略。八、模型的推广模型评价中考虑到的缺陷对于所要拼接的图片较多时还是真实存在的,所以当处理数据资
21、料过大时,可以在程序中加入部分剔除功能,对于已经明显不可能存在的情况就不再予以考虑或检测。在问题二处理中,得出最后上下排列正确的四列图片组合后,也可以将这四列图片作为新的图片目标,进行左右边缘RGB值的对比检测,确定其正确顺序。在问题一中也可以对已确定的结果进行进一步检验。但这种检测或检验同样是针对处理大量图片拼接的问题,针对无法轻易人工判断的情况,针对图片边缘数据不够明确的情况。而在实际生活中上述几种情况也是客观且普遍存在的,面对具体的问题我们应进行具体推广。九、参考文献1启源、金星、叶俊 ,数学建模 ,高等教育;2 王沫然,MATLAB与科学计算 ,电子工业;3 丹、海滨、龙哲,MATLA
22、B图像处理实例详解 ,清华大学;4 庆阳、王能超、易大义,数值分析 ,清华大学;5 基于分类树和贪心算法的测试数据自动生成方法-计算机工程与设计-2011年 第8期 (32);6 基于核策略的半监督学习方法-计算机工程-2009年 第15期 (3)。十、附件附件一、问题一在MATLAB中的求解程序clear all,clc;for i=1:17 picname=sprintf('%d.jpg',i); a=imread(picname); %读取图片RGB值 b=a(1,:,:); s=size(a); c=a(s(1),:,:); xi=b; %将所有图片上边缘的RGB值存入
23、到元胞x中 yi=c; %将所有图片下边缘的RGB值存入到元胞y中endoriginal=x17;original=double(original); %将RGB值转化为数值型sequence=0 0 0 0;for ii=1:4 %首先找出位于第一层的四图片 rr=000; for i=1:16 ss=xi; ss=double(ss); zz=0; for j=1:137 mm=(ss(1,j,1)-original(1,sequence(ii)+j,1)2+(ss(1,j,2)-original(1,sequence(1,ii)+j,2)2+(ss(1,j,3)-original(1,s
24、equence(1,ii)+j,3)2; zz=mm+zz; %将原始图片与进行对比的图片的上边缘对应位置的R、G、B值分别做差,然后平方相加,作为判断依据 end zz=sqrt(zz); %对上述结果开根号进行比较 if zz<rr rr=zz; order(1,ii)=i; %通过与原始图的对比确定第一层四图,将图片编号存入矩阵order的第一行中 end end number=size(xorder(ii); sequence(1,ii+1)=sequence(1,ii)+number(1,2);endfor jj=1:3 %将已确定的第一层的四图作为目标,确定第二层的四图。然后
25、以下一层已确定的四图为目标,重复操作。for ii=1:4 target=yorder(jj,ii); target=double(target); rrr=000; for i=1:16 if i=order(jj,ii) continue; else sss=xi; sss=double(sss); zzz=0; for j=1:137 mmm=(sss(1,j,1)-target(1,j,1)2+(sss(1,j,2)-target(1,j,2)2+(sss(1,j,3)-target(1,j,3)2; zzz=sqrt(mmm)+zzz; %将目标图片下边缘R、G、B值与进行对比的图片的上边缘的的R、G、B值 %分别做差,然后平方相加,作为检测依据 end end zzz=sqrt(zzz); %对上述结果开根号进行比较 if zzz<rrr rrr=zzz; result=i; end %选出上述做差后平方相加的结果中的最小值,即为目标图片正下方的一图片 end order(jj+1,ii
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 塑钢快餐桌椅行业深度研究报告
- 2023年美容养生项目融资计划书
- 【7地星球第三次月考】安徽省亳州市蒙城县2024-2025学年七年级上学期12月月考地理试题(含解析)
- 七年级英语下册 Unit 4 Don't eat in class教学实录 (新版)人教新目标版
- 蚌埠安徽蚌埠固镇县司法局选聘专职人民调解员历年参考题库(频考版)含答案解析
- 中国产销消毒剂项目投资可行性研究报告
- 第二单元教学实录2024-2025学年统编版语文八年级上册
- 花岗石墓碑工艺品行业深度研究报告
- 10《在牛肚子里旅行》教学实录-2024-2025学年语文统编版三年级上册
- 中国组合杠铃架项目投资可行性研究报告
- 2023年天津中学业水平合格性考试物理试卷试题(含答案详解)
- 广东省深圳市2022-2023学年五年级上学期数学期末考试试卷(含答案)5
- 重污染天气应急响应“一厂一策”操作方案
- 《人力资源岗必备能力提升课件》
- 《《红楼梦》中薛宝钗与黛玉的形象分析与人物对比》
- 期末冲刺动员主题班会课件
- 基于海洋文化背景下校本化特色课程开发深化实践研究资料
- 胸外科食管切除、食管-胃胸内吻合术技术操作规范
- 建筑安装工程有限公司关于加大市场开拓力度的激励办法
- 题库(大气科学基础(一)-题库)
- 智能制造设备与工厂自动化项目验收方案
评论
0/150
提交评论