⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dohledej.m

📁 图像对齐(inage registration)工具箱
💻 M
字号:
function [odp,vzd]=dohledej(sour1,sour2,img1,img2,k,r,tp,ord);
% try to find best localization of corresponding point in close neighborhood of the reference CP
% B.Zitova, zitova@utia.cas.cz


vel1=size(img1);
vel2=size(img2);

pom=sour2(1)*ones(2*r+1,1);
pom=pom+(-r:1:r)';

pom2=sour2(2)*ones(2*r+1,1);
pom2=pom2+(-r:1:r)';

pr=min(min([(vel2(1)-pom-r) (vel2(2)-pom2-r),(pom-r),(pom2-r)]));

polomer=min([k,(vel1(1)-sour1(1)-r-1),(vel1(2)-sour1(2)-r-1),(sour1(1)-r-1),(sour1(2)-r-1) pr]);

k=polomer;
maska=kruh(2*k+1,k);

window=maska.*img1((sour1(1)-k):(sour1(1)+k),(sour1(2)-k):(sour1(2)+k));

switch (tp)
			case ('Hu           ')
            invb=huc(window);
	
			case ('Affine       ')
            invb=ami(window);
	
 		case ('Rotational   ')
            invb=     rot(window,ord);
	         
   	   case ('Blur combined') %Blur combined
				kin=kblmi(window,7);
				invb=nkminv(kin);

     end;
     
odp(1)=sour2(1);
odp(2)=sour2(2);
odp(3)=realmax;

for j=0:((2*r+1)^2-1),
  
	Dc=(j-(2*r+1)*fix(j/(2*r+1)))-r;
     	Dr=fix(j/(2*r+1))-r;
     	window=maska.*img2((Dr+sour2(1)-k):(Dr+sour2(1)+k),(Dc+sour2(2)-k):(Dc+sour2(2)+k));
switch (tp)
			case ('Hu           ')
            inva(j+1,:)=huc(window);
	
			case ('Affine       ')
            inva(j+1,:)=ami(window);

  			case ('Rotational   ')
            inva(j+1,:)=     rot(window,ord);

         
   	   case ('Blur combined') %Blur combined
				kin=kblmi(window,7);
				inva(j+1,:)=nkminv(kin);
     end;
      

     
     
        vzd(j+1)=abs(((l2dist(invb,inva(j+1,:))))');
      
        if vzd(j+1)<odp(3)
         odp(3)=vzd(j+1);
         odp(1)=sour2(1)+fix(j/(2*r+1))-r;
         odp(2)=sour2(2)+j-fix(j/(2*r+1))*(2*r+1)-r;
      end;
end;	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -