www.pudn.com > calibr8.zip > createCDLT.m


function [CDLT, lambda] = createCDLT( Fl, b1, b2, u0, v0, T, M )
%DEVELOPMENT PHASE
%
% CDLT = createCDLT( Fl, b1, b2, u0, v0, T, M )
%
% Fl - focal length
% b1, b2 - models the lack of orthogonality and difference in scale of the image axes
% u0, v0, coordinates of the image centre
% T - translation 3x3 matrix
% M - rotation 3x3 matrix
%
% CDLT - computed matrix
% lambda - normalisation scalar
%
% computes the 3x3 CDLT transformation matrix from the known parameters

V = [1, 0, -u0; 0, 1, -v0; 0, 0, 1];
B = [1 + b1, b2, 0; b2, 1 - b1, 0; 0, 0, 1];
F = [Fl, 0, 0; 0, Fl, 0; 0, 0, 1];

CDLT = inv(V) * inv(B) * F * M * T;
lambda = CDLT( 3, 3 );