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

📄 hmscarp2.m

📁 图像对齐(inage registration)工具箱
💻 M
字号:
function [HM,ANG,POS1,POS2]=hmscarp2(X,C,k,kr,fil)
% HMSCARP2 - computes how many sign changes around point, with angles, smoothing
%               [HM,ANG,POS1,POS2]=hmscarp2(X,C,k,kr,fil)
%
% X: image
% C: averages over squares size 2k+1
% k: half size of square to fit locally    
% kr: size of square for changes may be any
% fil: 1D filter for smoothing curves
% HM: number of sign changes around squares
% ANG: angle between edges (index length)
% POS1,POS2: source for ANG
%     
% Copyright Zitova B., Kautsky J., Peters G., Flusser J.
% UTIA, 1998

if nargin<4, kr=k; end

[m,n]=size(X);
ktr=k;           %  edge size of computed results

if kr>k   
   C=C(kr-k+1:m-2*kr+k,kr-k+1:n-2*kr+k);
   ktr=kr;
end

N=-kr+1:kr;
Nb=kr-1:-1:-kr;
HM=zeros(m,n);
ANG=HM;
POS1=HM;
POS2=HM;
ST=zeros(8*kr+1,n-2*ktr);     %  for storing perimeter fns for a row
y=ktr+1:n-ktr; x=ktr+1:m-ktr;

for jx=x
  jc=1;
  Cr=C(jx-ktr,:);
  ST(jc,:)=X(jx-kr,y-kr)-Cr;
% bottom row right
  for jjy=N
    jc=jc+1;
    ST(jc,:)=X(jx-kr,y+jjy)-Cr;
  end
% right column up
   for jjx=N
    jc=jc+1;
    ST(jc,:)=X(jx+jjx,y+kr)-Cr;
  end
% top row left
  for jjy=Nb
    jc=jc+1;
    ST(jc,:)=X(jx+kr,y+jjy)-Cr;
  end
% left column down
   for jjx=Nb
    jc=jc+1;
    ST(jc,:)=X(jx+jjx,y-kr)-Cr;
  end
  [HMr,ANGr,POS]=whscarp(ST,fil);
  HM(jx,y)=HMr;
  ANG(jx,y)=ANGr;
  POS1(jx,y)=POS(1,:);
  POS2(jx,y)=POS(2,:);
end

⌨️ 快捷键说明

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