## 二维碎片拼接复原
### 需求分析
二维碎片的复原拼合工作大都采用手工的方式,拼合的效率十分低下,但随着计算机技术的发展,尤其是在图形学方面的迅猛发展,使得计算机处理二维碎片的拼合成为可能。二维碎片的轮廓匹配技术目前已发展为计算机视觉、图像分析、医学图像配准、文物复原、光学和雷达跟踪、及模式识别等领域中的重要课题
在某些特殊场景,比如考古挖掘领域,由于时间久远。发掘的文物大都是破碎不完整的,如果纯靠人力对其复原需要大量的时间和精力,计算机辅助拼接碎片有很大的需求。还有碎纸机销毁了很重要的文件,需要将碎片拼接复原。
我们针对这方面的需求开发了一款软件,该软件可以根据碎片图像,对碎片进行拼接和复原。
### 概要设计
#### 1.核心算法匹配组件模块:
全部用 C++ 和 opencv 实现,先对碎片进行数字图像处理包括,高斯滤波,形态学滤波,二值化和轮廓树提取等处理。然后用动态规划的最大公共子串算法构建二个碎片的匹配器,最后基于优先队列和 BFS 实现的最小生成树算法拼接还原碎片,该模块是程序的核心算法功能组件。
#### 2.接口调用模块:
全部用 Python 实现,其功能包含,网页爬虫获取图像素材,随机切分得到一系列碎片调用底层 C++ 实现的核心模块拼接复原图像,最后包含对拼接结果的测试程序。
#### 3.界面 UI 模块:
PyQt5 设计具有良好的用户交互,可以在界面自动生成碎片,并随机打乱,然后通过拼接按钮自动拼接复原,可以选择切分的数目和类型,可以下载测试数据,并对所有的测试数据全部拼接复原,统计它对不规则带纹理碎片的拼接效果。实践证明,大部分碎片都能取得满意的拼接效果。
![](https://www.writebug.com/myres/static/uploads/2022/1/14/f369635849db8467d9d9067dc8d50154.writebug)
### 算法介绍
- 数字图像预处理:包含高斯滤波,Canny 算子提取边缘,再通过形态学膨胀和腐蚀操作转化为二值图像,然后用 opencv 提取二值图像的边缘轮廓, 最后用多边形拟合近似,得到一系列的轮廓点
- 构建二碎片匹配器:这里用到了多边形的内角匹配合形状匹配以及灰度值匹配,我们成功运用了最大公共子串的模型用于多边形轮廓匹配,同时改进了基于动态规划的最大公共子串算法,借助多个参数阈值,使得俩俩轮廓匹配的算法准确率大大提高,最后成功构建了一个匹配器,只要输入二个原图像该匹配器会计算出最佳的匹配位置,同时得回一个匹配系数,为后续拼接做铺垫
- 构建最大匹配树:对每二个图像依次进行俩俩匹配,保存对应的匹配系数和最佳匹配位置,然后可以得到一张无向图,图中的每个顶点代表一副图像的轮廓信息, 连接顶点的边代表二副碎片图像的匹配系数,最后从该图中生成一个匹配系数总和最大的一颗树(其实就是最小生成树算法),我们用 C++ 优先队列和 BFS 实现,再记录这棵树的每一条边。
- 还原拼接图片:遍历每一条边,根据之前记录的轮廓匹配位置,依次对该边对应的二个顶点即碎片图像进行拼接,最后就可以得到完整的拼接后的图像
### 技术路线
- C++ 开发环境:Microsoft VisualStudio 2017
- Python 开发环境: PyCharm
- C++ 开源计算机视觉库: Opencv4.1.0
- Python 开发语言版本: Python3.6
- Python 依赖第三方模块:
- 数值计算库 Numpy
- 图像处理库 SkImage
- 界面设计库 PyQt5
### 结果展示
![](https://www.writebug.com/myres/static/uploads/2022/1/14/c86dc356791d3ae7ed9ad9919faa6693.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/1/14/2b482c18d1aa30859471114671e9cd8f.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/1/14/99397203593b1f36d40e01b67a6dcc33.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/1/14/7f8745b7da3fa062af9231f9cdadc862.writebug)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
资源包含文件:设计报告word+演示PPT+项目源码+项目截图 二维碎片的复原拼合工作大都采用手工的方式,拼合的效率十分低下,但随着计算机技术的发展,尤其是在图形学方面的迅猛发展,使得计算机处理二维碎片的拼合成为可能。二维碎片的轮廓匹配技术目前已发展为计算机视觉、图像分析、医学图像配准、文物复原、光学和雷达跟踪、及模式识别等领域中的重要课题。 全部用 C++ 和 opencv 实现,用 Python 实现,其功能包含,网页爬虫获取图像素材,随机切分得到一系列碎片调用底层 C++ 实现的核心模块拼接复原图像,最后包含对拼接结果的测试程序。 PyQt5 设计具有良好的用户交互,可以在界面自动生成碎片,并随机打乱,然后通过拼接按钮自动拼接复原,可以选择切分的数目和类型,可以下载测试数据,并对所有的测试数据全部拼接复原,统计它对不规则带纹理碎片的拼接效果。 详细介绍参考:https://biyezuopin.blog.csdn.net/article/details/122512772?spm=1001.2014.3001.5502
资源推荐
资源详情
资源评论
收起资源包目录
基于Python+C++的二维碎片图像拼接复原系统.zip (82个子文件)
figuresrecover
设计报告.docx 1.97MB
2.碎片图像复原----第二版
README.txt 560B
核心算法C++源码
README.txt 111B
RecoverFigs
MatchImg.cpp 7KB
data
5.png 58KB
9.png 41KB
1.png 39KB
6.png 48KB
2.png 47KB
7.png 51KB
4.png 50KB
8.png 46KB
lena.jpg 37KB
recoverImg.jpg 83KB
3.png 42KB
ImgPrime.cpp 1KB
TransfromImg.cpp 2KB
DetectTarget.cpp 2KB
ApproxPoly.cpp 2KB
RecoverFigs.vcxproj.filters 3KB
JointImg.cpp 3KB
RecoverFigs.vcxproj 7KB
InitImg.cpp 2KB
LineFunctons.cpp 1KB
header.h 4KB
Main.cpp 2KB
RecoverFigs.sln 1KB
素材图
2.jpg 37KB
1.jpg 94KB
Debug
README.txt 3KB
Package
LoadFigure.py 1KB
RecoverFigs.exe 302KB
__init__.py 0B
SplitFigure.py 4KB
Config.py 1004B
RecoverFigure.py 737B
Test
ComputeAccuracy.py 1KB
Test.py 977B
__init__.py 0B
CreateFigures.py 1KB
__pycache__
__main__.cpython-36.pyc 216B
__init__.cpython-36.pyc 162B
__main__.py 43B
__init__.py 0B
requirements.txt 18B
Main
__init__.py 0B
MainUI.pyw 14KB
LICENSE 1KB
1.碎片图像复原----第一版
README.txt 1KB
素材样例
2.jpg 147KB
1.jpg 135KB
3.jpg 137KB
5.jpg 103KB
4.jpg 130KB
Debug
README.txt 4KB
Package
LoadFigure.py 1KB
__init__.py 0B
SplitFigure.py 4KB
Config.py 937B
RecoverFigure.py 16KB
Test
ComputeAccuracy.py 1KB
Test.py 977B
__init__.py 0B
CreateFigures.py 1KB
__main__.py 43B
__init__.py 0B
requirements.txt 26B
Main
__init__.py 0B
MainUI.pyw 16KB
二维碎片拼接复原.pptx 3.59MB
.gitignore 537B
README.md 4KB
图片
5.png 248KB
9.png 435KB
1.png 350KB
luxian.png 13KB
6.png 175KB
2.png 390KB
7.png 531KB
4.png 545KB
8.png 480KB
3.png 239KB
共 82 条
- 1
shejizuopin
- 粉丝: 9624
- 资源: 1288
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页