% Create pose Usage: Point_Projection_3D_2D = sugr_Projection_3D_2D(P) 3x4 matrix, CovM = 0 Point_Projection_3D_2D = sugr_Projection_3D_2D(P,CovM) 3x4 matrix, 12x12 covariance matrix of vec(P) Point_Projection_3D_2D = sugr_Projection_3D_2D(K,R,Z) 3x3-matrices, 3-vector, CovM = 0 Point_Projection_3D_2D = structure * .P = 3 x 4-Matrix, Frobenius norm = 1, det P(1:3,1:3) > 0 * .Crr = vec of covariance matrix of 11 reduced parameters * .type = 20 Wolfgang Förstner 2/2013 wfoerstn@uni-bonn.de See also sugr_minimal_Point_Projection_3D_2D, sugr_minimal_vector
0001 %% Create pose 0002 % 0003 % Usage: 0004 % 0005 % Point_Projection_3D_2D = sugr_Projection_3D_2D(P) 0006 % 3x4 matrix, CovM = 0 0007 % 0008 % Point_Projection_3D_2D = sugr_Projection_3D_2D(P,CovM) 0009 % 3x4 matrix, 12x12 covariance matrix of vec(P) 0010 % 0011 % Point_Projection_3D_2D = sugr_Projection_3D_2D(K,R,Z) 0012 % 3x3-matrices, 3-vector, CovM = 0 0013 % 0014 % Point_Projection_3D_2D = structure 0015 % * .P = 3 x 4-Matrix, Frobenius norm = 1, det P(1:3,1:3) > 0 0016 % * .Crr = vec of covariance matrix of 11 reduced parameters 0017 % * .type = 20 0018 % 0019 % Wolfgang Förstner 2/2013 0020 % wfoerstn@uni-bonn.de 0021 % 0022 % See also sugr_minimal_Point_Projection_3D_2D, sugr_minimal_vector 0023 0024 function Point_Projection_3D_2D = sugr_Projection_3D_2D(a1,a2,a3) 0025 0026 % default 0027 Chh = zeros(12); 0028 % 0029 switch nargin 0030 0031 case 1 0032 % 3x4-matrix 0033 P = a1*sign(det(a1(1:3,1:3))); 0034 Point_Projection_3D_2D = ... 0035 sugr_minimal_Point_Projection_3D_2D(P,Chh); 0036 0037 case 2 0038 % P, Cpp 0039 P = a1*sign(det(a1(1:3,1:3))); 0040 Point_Projection_3D_2D = ... 0041 sugr_minimal_Point_Projection_3D_2D(P,a2); 0042 0043 case 3 % 0044 % K, R, Z 0045 P = a1*a2*[eye(3),-a3]; 0046 P = P*sign(det(P(1:3,1:3))); 0047 Point_Projection_3D_2D = ... 0048 sugr_minimal_Point_Projection_3D_2D(P,Chh); 0049 0050 end 0051 0052 Point_Projection_3D_2D.type = 134; 0053