function [HN] = DLT( xp , x )

numxs = size(xp);

A = zeros(2*numxs(2),9);

for i = 2:2:2*numxs(2)
    A(i-1,:) = [zeros(1,3) -xp(3,i/2)*x(:, i/2)' xp(2,i/2)*x(:, i/2)'];
    A(i,:) = [xp(3,i/2)*x(:, i/2)' zeros(1,3) -xp(1,i/2)*x(:, i/2)'];
end


[U,S,V] = svd(A'*A);

HN = [V(1:3,9)'; V(4:6,9)'; V(7:9,9)'];


