基于临近图片相似性分析的图片碎片拼接算法matlab仿真

简介: 基于临近图片相似性分析的图片碎片拼接算法matlab仿真

1.算法描述

     由于所使用的碎片,背景颜色都是白色,而且部分碎片正好在两个不同的文字之间,因此,没法直接使用颜色匹配或者文件匹配的方法。

    第二,由于很多碎片其边都是直线的,所以我们也没法直接使用很多论文所介绍的随机不规则碎片拼接算法。也没法使用角点匹配的方法,因为角点匹配主要是基于有部分重合的情况下的碎片拼接。

    考虑到上面的两种实际情况,这里使用的是一种几何外形匹配的方法,这种方法,我们首先需要指定一个碎片,通常我们指定一些特征位置的碎片,这里我们选择左上角的那个碎片作为第一个碎片,然后将其余碎片和这个被选中的碎片一一组合拼接,直到找到匹配的碎片,然后进行组合,将组合得到的碎片作为新的碎片,然后再和剩下的碎片进行匹配,知道完成所有的碎片匹配,完成碎片的拼接。
   图像碎片自动拼接技术的研究是一个有很大实用价值的课题。如,考古研究中对破碎珍贵文物的修复,公共机关破案时遇到的破碎证物的修复等。传统上,拼接复原工作需由人工完成,准确率较高,但效率很低,特别是当碎片数量巨大,人工拼接很难在短时间内完成任务,这种落后的无奈之举和信息时代高效的现实需求之间的矛盾愈来愈明显。基于此,需要建立数学模型和算法将图像碎片自动拼接,即借助计算机,通过特征匹配技术来识别出相邻接的图像碎片,进而重现整个物体的原貌,以提高拼接复原效率。题目要求建立粉碎机横纵切单面纸片和双面纸片的复原模型与算法,将人工复原和机器复原相结合,探寻干预节点,并通过所建立的方法对题目附件中的粉碎图片进行还原。

   碎纸片拼接方法的研究一般模型如下:实物碎片→碎片数字化→图像预处理→提取边界→特征分析检测→找匹配段→拼接复原。常规文档碎纸片计算机拼接方法一般利用碎片边缘的尖点特征、尖角特征、面积特征等几何特征,搜索与之匹配的相邻碎纸片并进行拼接。但是这种基于边界几何特征的拼接方法并不适用于边缘形状相似的碎纸片。而题目中所给的图片均为相同形状的图形,拼接时如果只利用碎片的边界特征,拼接效果并不理想。当然,因此我们也省去了将图片预处理和提取边界的步骤。

   尽管图片是规整的,但是我们所要拼接的内容涉及到文字内容,所以我们可以大胆设想文字特征类似于非规则图片的曲线性,由此看来与碎片匹配时,涉及到一个重要的问题就是曲线匹配。曲线匹配的关键技术是确定坐标变换中具有不变性的量,即不变量为匹配依据,用不变量重新表征边界曲线。既然通过不变量表征两条边界曲线特征,就需要在特征不变量序列中找公共序列,但实际情况又不能满足严格的对应相等,所以把最长公共子序列问题的思想蕴涵其中,即我们可以对左右两列从上至下去坐标值,并设定阈值,通过阈值的划分性进行匹配。

2.仿真效果预览
matlab2022a仿真结果如下:

image.png
image.png

3.MATLAB核心程序

global allP
global margl margr
global ld
global pn pw ph
 
allP=brief_pretreat;
[margl,margr]=extractmargin;
 
 lmark=brief_markline_accurate;
 
pind=zeros(11,19);
tick=[0 4.5 10 20 26 30 36 40 47.5 50 57.01 60];
for k=1:11
    pind(k,:)=find(tick(k)<lmark&lmark<tick(k+1));
end
rerow=[4 6 8 10 2 3 5 7 9 11 1];
pind=pind(rerow,:);
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%55
P=zeros(11,19);
for k=1:11
    P(k,:)=arrangemethod3_1(pind(k,:));
end
 
%%
upind=[];
dnind=P(2,:);
ppind=pind([1,7],:);
ppind=ppind(:);
P(1,:)=arrangemethod4(upind,ppind,dnind);
%showP(P(1:2,:))
 
upind=P(6,:);
dnind=P(8,:);
ppind=pind([1,7],:);
ppind=ppind(:);
 
P(7,:)=arrangemethod4(upind,ppind,dnind);
 
showP(P)
toc(a)
相关文章
|
8天前
|
机器学习/深度学习 人工智能 算法
基于DCT和扩频的音频水印嵌入提取算法matlab仿真
本文介绍了结合DCT和扩频技术的音频水印算法,用于在不降低音质的情况下嵌入版权信息。在matlab2022a中实现,算法利用DCT进行频域处理,通过扩频增强水印的隐蔽性和抗攻击性。核心程序展示了水印的嵌入与提取过程,包括DCT变换、水印扩频及反变换步骤。该方法有效且专业,未来研究将侧重于提高实用性和安全性。
|
1天前
|
数据采集 算法 数据可视化
MATLAB、R用改进Fuzzy C-means模糊C均值聚类算法的微博用户特征调研数据聚类研究
MATLAB、R用改进Fuzzy C-means模糊C均值聚类算法的微博用户特征调研数据聚类研究
|
2天前
|
机器学习/深度学习 数据采集 算法
共享单车需求量数据用CART决策树、随机森林以及XGBOOST算法登记分类及影响因素分析
共享单车需求量数据用CART决策树、随机森林以及XGBOOST算法登记分类及影响因素分析
|
3天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
13 5
|
3天前
|
移动开发 算法 数据可视化
数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例
数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例
|
4天前
|
算法 数据可视化 大数据
圆堆图circle packing算法可视化分析电商平台网红零食销量采集数据
圆堆图circle packing算法可视化分析电商平台网红零食销量采集数据
33 13
|
6天前
|
机器学习/深度学习 算法 数据挖掘
基于PSO优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真
该文档介绍了使用MATLAB2022A中PSO优化算法提升时间序列预测模型性能的过程。PSO优化前后对比显示了优化效果。算法基于CNN、LSTM和Attention机制构建CNN-LSTM-Attention模型,利用PSO调整模型超参数。代码示例展示了PSO的迭代优化过程及训练、预测和误差分析环节。最终,模型的预测结果以图形形式展示,并保存了相关数据。
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到&quot;hand.txt&quot;文件。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
1月前
|
算法
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
23 2