matlab碎纸拼接相似函数,基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法
基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法
【专利摘要】本发明提供了一种基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法,主要涉及双面打印文件的拼接及复原问题,通常由于图片较多,信息量较大,故通常为非线性优化问题,准确建立模型难度较大,并求解较为困难,同时误差可能较大。故本发明把图像作为一个整体,采用基于随机思想的蒙特卡洛算法进行选择填充。考虑给定的来自同一页印刷文字文件的碎纸机破碎纸片如何拼接到一起,包括:仅纵切,既纵切又横切的情形,双面打印文件及纵切有横切等情况的碎纸片,可能包括中文或英文。本发明通过图片拼接算法,可以使碎纸片的自动拼接,以获得图片拼接及复原效果,减少人力物力消耗,并提高拼接复原效率。
【专利说明】基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法
【技术领域】
[0001] 本发明属于信息【技术领域】,涉及一种基于蒙特卡洛算法构建能量函数的碎纸图片 拼接方法,具体地说,涉及一种自动破碎文件(碎纸)图片拼接技术,并提高拼接复原效率 及准确度。
【背景技术】
[0002] 破碎文件的拼接在文件修复、司法物证复原鉴定、历史文献修复以及军事情报获 取等领域都有着重要的应用,很多碎片拼接问题都可以归结为或近似为二维碎片的拼接问 题。碎纸拼接是二维碎片图像拼接的典型问题。传统上,拼接复原工作需由人工完成,准确 率较高,但效率很低。然而当碎片数量巨大,耗费大量的人力、物力,人工拼接很难在短时间 内快速、准确完成任务,而且还可能对物件造成一定的损坏。
[0003] 随着计算机技术的发展,利用计算机编程技术,通过图片拼接算法,可以进行碎纸 片的自动拼接,以获得图片拼接及复原,减少人力物力消耗,并提高拼接复原效率。
【发明内容】
[0004] 本发明的目的在于提供一种基于蒙特卡洛算法构建能量函数的碎纸图片拼接方 法,旨在解决现有技术图片拼接NP困难、拼接复原效率低的问题。
[0005] 本发明是这样实现的,一种基于蒙特卡洛算法构建能量函数的碎纸图片拼接方 法,包括以下步骤:
[0006] S1、将碎纸片扫描成二维灰度图片形式,获得(mXn)张,并用Matlab将图片信息 读取成矩阵信息;
[0007] S2、基于蒙特卡洛算法利用Matlab随机函数randperm对上述生成的图片产生随 机的、不重复的mXn个图像碎片二维组合顺序;
[0008] S3、对mXn个碎片二维组合顺序作为拟生成的文件图片,基于均方根误差RMSE, 计算图片当中每幅图像与邻近图片即上、下、左、右的能量函数,然后求出所有图片能量函 数的和;
[0009] S4、对步骤S2进行10000次循环,并比较每次能量函数的大小,获取能量函数最小 值;
[0010] S5、得出的最小值所对应的碎片位置即为最优的排列方式;
[0011] S6、通过多次大量的迭代,最小值逐渐收敛,获得最优值,即最佳拼图效果。
[0012] 本发明克服现有技术的不足,提供一种基于蒙特卡洛算法构建能量函数的碎纸图 片拼接方法,主要涉及双面打印文件的拼接及复原问题,通常由于图片较多,信息量较大, 故通常为非线性优化问题,准确建立模型难度较大,并求解较为困难,同时误差可能较大。 故本发明把图像作为一个整体,采用基于随机思想的蒙特卡洛算法进行选择填充。考虑给 定的来自同一页印刷文字文件的碎纸机破碎纸片如何拼接到一起,包括:仅纵切,既纵切 又横切的情形,双面打印文件及纵切有横切等情况的碎纸片,可能包括中文或英文。对于具 体不同的三种情况具体分析如下:1)对仅纵切文件同时考虑文件当中每个碎片间左、右2 个约束关联条件;2)对包括横切、纵切文件同时考虑文件当中每个碎片间上、下、左、右4个 约束关联条件;3)对双面文件同时考虑文件当中每个碎片间上、下、左、右以及反面8个约 束关联条件,然后,建立能量函数,通常能量函数最小即拼接效果最好,通过蒙特卡洛的随 机性质寻找最小值,最后利用Matlab编程,并获得最优解,并进行验证。
【专利附图】
【附图说明】
[0013] 图1是本发明基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法的步骤流程 图;
[0014] 图2本发明实施例中的随着1000迭代次数能量变化情况示意图;
[0015] 图3是本发明实施例中的随着10000迭代次数能量变化情况示意图;
[0016] 图4是本发明实施例中的碎片拼接上、下、左、右关系示意图。
[0017] 图5是本发明实施例中的5. 000. bmp图像的直方图;
[0018] 图6是本发明实施例中的横线图;
[0019] 图7是本发明实施例中的点图;
[0020] 图8是本发明实施例中的坚图。
【具体实施方式】
[0021] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0022] 实施例
[0023] -种基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法,如图1所示,包括以 下步骤:
[0024] S1、将碎纸扫描成二维灰度图片形式(mXn),并用Matlab将图片信息读取成矩阵 信息;
[0025] 在步骤S1中,更具体的包括:
[0026] 1)图像预处理
[0027] 通常的图像不能拿来直接使用,因为存在噪音、灰度等不同信息,直接使用会造成 误差,导致结果不正确或误拼接,所以需要对图像进行预处理:
[0028] a)去噪处理
[0029] 给出的图像由于成像原因、相机或电脑原因可能会出现噪音问题,而出现噪音会 容易造成数据处理误差,比如最边上一列如果某个像素受到噪音影响〇变成1,那么最后统 计会造成一定的误差,所以采用通常使用的高斯滤波对图像进行去噪处理:
【权利要求】
1. 一种基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法,其特征在于包括以下步 骤: 51、 将碎纸片扫描成二维灰度图片形式,获得(mXn)张,并用Matlab将图片信息读取 成矩阵息; 52、 基于蒙特卡洛算法利用Matlab随机函数randperm对上述生成的图片产生随机的、 不重复的mXη个图像碎片二维组合顺序; 53、 对mXn个碎片二维组合顺序作为拟生成的文件图片,基于均方根误差RMSE,计算 图片当中每幅图像与邻近图片即上、下、左、右的能量函数,然后求出所有图片能量函数的 和; 54、 对步骤S2进行10000次循环,并比较每次能量函数的大小,获取能量函数最小值; 55、 得出的最小值所对应的碎片位置即为最优的排列方式; 56、 通过多次大量的迭代,最小值逐渐收敛,获得最优值,即最佳拼图效果。
【文档编号】G06T5/50GK104091319SQ201410298442
【公开日】2014年10月8日 申请日期:2014年6月26日 优先权日:2014年6月26日
【发明者】王晓峰, 苏盈盈, 王洪珂, 孙宝光, 白翔文 申请人:重庆科技学院
matlab碎纸拼接相似函数,基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法相关推荐
- MATLAB代码:基于蒙特卡洛算法的电动汽车充电负荷预测 关键词:蒙特卡洛 电动汽车 充电负荷预测
MATLAB代码:基于蒙特卡洛算法的电动汽车充电负荷预测 关键词:蒙特卡洛 电动汽车 充电负荷预测 仿真平台:MATLAB 主要内容:代码主要做的是电动汽车的充电负荷模拟预测,具体为:从影响电动汽车充 ...
- python实现蒙特卡洛算法_用Python实现基于蒙特卡洛算法小实验
用Python实现基于蒙特卡洛算法小实验 蒙特卡洛算法思想 蒙特卡洛(Monte Carlo)法是一类随机算法的统称,提出者是大名鼎鼎的数学家冯· 诺伊曼 ,他在20世纪40年代中期用驰名世界的赌城- ...
- matlab碎纸拼接相似函数,碎纸片的拼接复原算法及MATLAB实现解析.doc
碎纸片的拼接复原算法及MATLAB实现 摘要:对于只有纵切的情形,文章通过比较当前待拼碎片与剩余碎片的信噪比psnr[1,3,4]的值来确定两碎片是否为邻接碎片:拼接算法首先连续调用右拼函数直到拼接到 ...
- ANSYS多孔材料孔隙介质建模教程 基于蒙特卡洛算法Voronoi图生成
首先通过CAD Voronoi插件建立孔隙的几何模型,该插件是基于蒙特卡洛随机生成算法,进行随机布置控制点,同时具有控制区块尺寸的功能.在CAD中生成相应图形的面域,并将生成的孔隙导出为.sat文件备 ...
- fama matlab源码_基于优化算法改造的Fama-French三因子模型
基于光大证券金融工程研报<站在巨人的肩膀上,从牛基组合到牛股发现 --FOF 专题研究系列之十六 >中提及的Carhart四因子Alpha优化模型,本文在Fama-French三因子模型上 ...
- xgboost算法_基于XGBoost算法构建投资组合
摘要 极端梯度提升 (eXtreme Gradient Boosting) 是一种基于决策树的集成机器学习方法,适用于分类和回归问题.其优点是速度快.效果好.能处理大规模数据.支持自定义损失函数等. ...
- 高阶系统怎么用matlab降阶,一种基于非线性规划的高阶系统最优降阶方法
一种基于非线性规划的高阶系统最优降阶方法 [技术领域] [0001] 本发明涉及一种基于非线性规划的高阶系统最优降阶方法,它是一种线性时不变 系统的最优降阶方法,是针对单输入单输出系统给出的一种使得降 ...
- 计算机视觉中能量函数,基于改进Snake模型能量函数在MR图像边缘提取中的研究...
摘 要: 在分析传统主动轮廓模型的基本原理.数学表征及算法实现的基础上,针对其收敛于局部极小值和依赖初始位置选取方面存在的不足,提出了改进的主动轮廓模型.该模型通过对一阶连续性能量Econt的改进和 ...
- 计算机视觉与深度学习 | 激光雷达点云配准与拼接(基于ICP算法):附matlab源代码
================================================ 博主github:https://github.com/MichaelBeechan 博主CSDN:h ...
最新文章
- 对应到对象 数据库驼峰_【GI的自主空间数据库】一种竞争力,叫技术引领;一种竞争力,叫时间沉淀...
- mfc让图片与按钮一起_微信朋友圈发图片还能添加语音,简单两步就能搞定!今天学到了...
- TIOBE12月榜单:Java重回第二,Python有望四连冠年度语言
- 网站优化上首页不算成功稳定排名才算
- 【Python】30个Pandas高频使用技巧
- Exchange2003-2010迁移系列之九,创建DAG组
- 反思 大班 快乐的机器人_幼儿园大班音乐优秀教案《小青蛙找家》含反思
- c# 对象json互相转换_能够将Excel 数据转换成Json格式的实用工具 excel2json
- Atitit 数据分析之道 attilax著 1. 数据分析的目的	2 1.1. 描述型:发生了什么?可视化仪表盘化很重要。	3 1.2. 2. 诊断型:为什么会发生?结合历史记录	3 1.3. 3
- 地址规范化--城市三级联动(layui) (A)
- 【MATLAB】高维矩阵求和
- AndroidFTP客户端-FTP管家源码
- Creational patterns
- 仿牛客网论坛项目资料整理
- 苹果手机自带表格软件_手机自带的软件无法卸载?教你一招”!
- ps4实况2016服务器维护,实况足球2016 PS4联机延时的解决办法
- Unity学习之Physic.Raycast(射线检测)个人理解分享
- 取消浏览器打开默认为百度搜索引擎
- 学习tensorflow之mac上安装tensorflow
- ios 绕过 id 锁
热门文章
- 好消息acesse_真实的acesse爱搜索 黑心传销骗子
- android udp 收发例子_网络协议之TCP和UDP
- VS Code无法远程连接服务器的解决办法
- 体育场[带权并查集]
- 2017年11月01日普及组 I Got a Matrix!
- JZOJ__Day 7:【普及模拟】蚂蚁
- LOJ #2731 [JOI2016春季合宿]Solitaire (DP、组合计数)
- codeblocks全屏模式怎么退出_IntelliJ IDEA 2020.1 EAP2 发布:新增禅模式和 LightEdit 模式...
- html图片查看器工作原理,五分钟了解浏览器的工作原理
- python 变量转字符串_[Python Basic] 字符串处理以及类型转换 2