📄 mmvzd.m
字号:
function odp=mmvzd(data1,data2,sps1,sps2,k,l1,l2);
%set the relationship between corresponding points in the image according to the data1 and data2
%data1 should be the smaller one
id1=find(data1(:,1)~=0);
id2=find(data2(:,1)~=0);
data1=data1(id1,:);
data2=data2(id2,:);
vel=size(data1);
vel2=size(data2);
pom=ones(vel2(1),1);
for i=1:vel(1),
pom2=pom*data1(i,:);
xpom(i,:)=((l2dist(pom2,data2)))';
omatr(i,:)=abs(xpom(i,:));
end;
%omart je matice vzdalenosti kazdeho od kazdeho
idxr1=sps1(:,1);
idxc1=sps1(:,2);
idxr2=sps2(:,1);
idxc2=sps2(:,2);
con1=(4*l1*l1+4*l1+1);
con2=(4*l2*l2+4*l2+1);
% spoctou se minimalni hodnoty z podmnozin invariantu, odpovidajicim posunum okna v okolicku
matmin=lklmin(omatr,con1,con2);
vel3=size(matmin);
for i=1:min(size(sps1,1),size(sps2,1)),
[v,ind]=sort(matmin');
pomer=v(1,:)./v(2,:);
[val,cp]=min(pomer);
dlr=cp;
dlc=ind(1,dlr);
odp(i,1)=idxr1(dlr);
odp(i,2)=idxc1(dlr);
odp(i,3)=idxr2(dlc);
odp(i,4)=idxc2(dlc);
odp(i,5)=val;
matmin(dlr,:)=realmax*ones(1,vel3(2));
matmin(:,dlc)=realmax*ones(vel3(1),1);
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -