www.gusucode.com > 个用于图像标定的算法matlab源码程序 > code16/lk20_common/hessian_sub.m
function H = hessian_sub(VI_dW_dp, N_p, w, sub_coords) % HESSIAN_SUB - Compute Hessian on blocks % H = HESSIAN_SUB(VI_DW_DP, N_P, W, SUB_COORDS) % Iain Matthews, Ralph Gross, % Carnegie Mellon University, Pittsburgh if nargin<4 error('Not enough input arguments'); end H = zeros(N_p, N_p); for i=1:N_p h1 = VI_dW_dp(:,((i-1)*w)+1:((i-1)*w)+w); h1_sub = h1(sub_coords(2):sub_coords(2)+sub_coords(3), sub_coords(1):sub_coords(1)+sub_coords(4)); for j=1:N_p h2 = VI_dW_dp(:,((j-1)*w)+1:((j-1)*w)+w); h2_sub = h2(sub_coords(2):sub_coords(2)+sub_coords(3), sub_coords(1):sub_coords(1)+sub_coords(4)); H(j, i) = sum(sum((h1_sub .* h2_sub))); end end