% Get Jacobian Jhr dh/dr (h = vec H) for estimating 2D Homography [Jhr,Jkr,Jhk] = sugr_get_Jacobian_Jhr_Homography_2D(H) H = 3x3-matrix, spectrally normalized Homography Jhr = 9x8-matrix Jacobian dh/dr,r -> h Jkr = 9x9-matrix Jacobian dk/dr,r -> k Jhk = 9x9-matrix Jacobian dh/dk,k -> h Wolfgang Förstner wfoerstn@uni-bonn.de wf 2/2011
0001 %% Get Jacobian Jhr dh/dr (h = vec H) for estimating 2D Homography 0002 % 0003 % [Jhr,Jkr,Jhk] = sugr_get_Jacobian_Jhr_Homography_2D(H) 0004 % 0005 % H = 3x3-matrix, spectrally normalized Homography 0006 % 0007 % Jhr = 9x8-matrix Jacobian dh/dr,r -> h 0008 % Jkr = 9x9-matrix Jacobian dk/dr,r -> k 0009 % Jhk = 9x9-matrix Jacobian dh/dk,k -> h 0010 % 0011 % Wolfgang Förstner 0012 % wfoerstn@uni-bonn.de 0013 % 0014 % wf 2/2011 0015 0016 function [Jhr,Jkr,Jhk] = sugr_get_Jacobian_Jhr_Homography_2D(H) 0017 0018 Ht = H'; 0019 Jkr = [eye(8); [-1,0,0,0,-1,0,0,0]]; % 9x8-Jacobian dk/dr,r -> k 0020 Jhk = kron(Ht,eye(3)); % 9x9-Jacobian dh/dk,k -> h 0021 Jhr = Jhk * Jkr; % 9x8-Jacobian dh/dr,r -> h