碎纸片的拼接模型怎么做呀,数学建模

碎纸片的拼接模型怎么做呀,数学建模,第1张

第1步碰碧:利用MATLAB软件[1]依次读取附件1(或附件2)中的所有碎纸片图像,其中图片标记为 ;

第2步:利哪吵瞎用MATLAB软件中的im2bw函数对所有碎纸片图像进行二值化处理[2],即所有的碎纸片都用仅包含0或1的二维矩阵 表示,其中1表示白色,0表示黑色;

第3步:依次提取矩阵 的第1列与最后1列元素,分别标记为 与 ;

第4步:将 中元素全为1所对应的碎片挑选出来,作为拼接复原图像的左边第1条碎片,并标记为 ;

第5步:将 的最后1列元素分别与剩余碎纸片的第1列元素作点积运算并求和,其中和值最大者即为与 最为李空匹配的碎纸片[3],记作 ,并将其放在拼接复原图像的左边第2条;

第6步:依此类推,得到 , ,……, ,最后得到拼接复原图像 。

根据上述算法,利用MATLAB软件编程(程序见附录1)可得问题1中附件1与附件2的碎片拼接顺序结果如表1与表2所示;附件1与附件2的拼接复原图像见附录2与附录3所示。

 matlab拼接27个图像碎片程序,你这是2013年大学生数学建模大赛B题,我觉得这乎岁汪个题要用图像岁仔的字符识别,通过字符的结构进行度量,

关键是拼接的算法,你要设计合适的算法才能真正做到

imname = dir('.\*.bmp')%读入文件夹下的全部图像

im_num = length(imname)% 文件夹中图像的个数

im_temp = imread(imname(1).name,'bmp')%读入第一幅图像

[height,width] = size(im_temp)%得到图像的尺寸

DB(:,:,a) = zeros(height,width,im_num,'uint8')

% 读入全部图雀和像

for a = 1:length(imname)

DB(:,:,a) = imread(imname(a).name,'bmp')%读取图像数据

%在此处也可以加入图像二值化代码

DB(:,:,a) = im2bw(DB(:,:,a) )

end

批量读入图片

用cat函数连接;

每个纸条的边界

ima = DB(:,:,a)

im_left = ima(:,1)

im_right= ima(:,end)

灰度值就是0 255,你要二值化数也行用 im2bw

左边1*1900的图像就是 im(:,1)

请采纳我的答案!

我的代码是调试通过的

2013年数学建模B题的解第二题思路是:

问题二,对既纵切又横切的碎片复原。

我们建立模型二,给出基于文本行特征的碎 片行分组算法,对行分组碎片进行横向拼接得到复原的碎片行,再对碎片行进行纵向拼 接,得到最终复原结果。这两种拼接策乱桐亏略均为模型一中基于旅行商问题的拼接策略。 其中,文本行特征即为文本行之间的规整性,利用文本行的规整性不仅可以对碎片哗神 进行行分轮神组,而且还可以ᨀ高文本纵向拼接的准确度。

我们根据模型二,对附件 3 碎片还原的结果没有人工干预;在对附件 4 碎片还原时 在行分组碎片横向拼接后有人工干预,即偶尔人工调整个别碎片还原结果。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12315688.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存