clear all
clc
close all
%
先读入图片。
di = dir('*.bmp');
I={};aa=[];ik=[];
n=length(di);
for i= 1:n
I{i} = imread(di(i).name);
I1{i}=im2bw(I{i});
%
图片黑白转换。
I1{i}=((-1)*I1{i}+1);
I2{i}=sum(I1{i});
%
先找出第一张拼接图片出来(人工干预)
figure
plot(I2{i})
c=num2str(i-1);
title (['
第
',c,'
张碎纸片密度图
'],'Color','r');
% end
%
判断首张拼接碎纸片。
% for i=1:n
aa=I1{i}(:,1:10);
pp=sum(sum(aa));
if pp<10
ik=[ik i];
end
end
%
把首张碎纸片位置和第一张交换位置。
% imshow(I1{9})
a1=I1{1};
I1{1}=I1{ik};
I1{ik}=a1;
a2=I{1};
I{1}=I{ik};
I{ik}=a2;
% figure;imshow(I1{1});
II=I1{1};
II1=I{1};
%
使用绝对值距离最短去寻找和第一张拼接的碎纸片,
%
不断的寻找下去就可以拼接复原出碎纸片。
i=1;m=1;g=[];lpp=1;
while m
a=I1{i}(:,end);