暑假matlab最后一次训练(编程题)碎纸片的拼接复原(前2题) 您所在的位置:网站首页 纵题和横题 暑假matlab最后一次训练(编程题)碎纸片的拼接复原(前2题)

暑假matlab最后一次训练(编程题)碎纸片的拼接复原(前2题)

2024-06-18 13:50| 来源: 网络整理| 查看: 265

对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果以图片形式及表格形式表达(见【结果表达格式说明】)。对于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型和算法,并针对附件3、附件4给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果表达要求同上。上述所给碎片数据均为单面打印文件,从现实情形出发,还可能有双面打印文件的碎纸片拼接复原问题需要解决。附件5给出的是一页英文印刷文字双面打印文件的碎片数据。请尝试设计相应的碎纸片拼接复原模型与算法,并就附件5的碎片数据给出拼接复原结果,结果表达要求同上。

关键词: 灰色分析关联度,matlab,单面纵横交错切;,聚类,人工干预,相关性矩阵

一.第一题 思想:第一题是中文和英文图片,各19张,只需找出每行的首图,继续分析每张前面的图的右列像素和下一张图的左像素的相关性。(中文和英文的代码一样,只需要改一下位置) 代码1: ```bash clear all close all clc fileform = 'C:\Users\Lenovo\Pictures\附件1\*.bmp'; filepathsrc = 'C:\Users\Lenovo\Pictures\附件1\'; files = dir(fileform); for i = 1:length(files) image{i} = imread([filepathsrc, files(i).name]); end n=numel(files); [h,z]=size(image{1,1}) for k=1:n byz(:,k)=image{1,k}(:,1); %将第k张图片的最左边一列放入矩阵byz的第k列 byy(:,k)=image{1,k}(:,z);%将第k张图片的最右边一列放入矩阵byy的第k列 end %利用页边距寻找第一张图片 for i=1:n Sum=0; for j=1:h if byz(j,i)==255 Sum=Sum+1; else break; end end if Sum = = h f=i; end end paixu=zeros(1,n); index=1; paixu(index)=f; %关联度 guanliandu = ones(n, 1); % set rho 分辨系数 rho = 0.45; % 分辨系数 i=f; while index


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有