constructing camera matrix out of euler angle and translation vector
Hi , Can anyone of you please find out whats wrong with my simple matlab code to construct camera matrix out of euler angles and translation vector. Thanks stethorsh
% % solves the camera model [ p ]=[F][P3]
% [P3] = [-306.8843; -263.0437; 0] a point world coordinate % [p] = [ 447.3374 ; 487.9971 ] corresponding image point
% Aim : construct a matrix ' F ' , so that [ p ]=[F][P3]
%pos1(1:3)=x, y, z -coordinates (actually, the position % of the calibration coordinate frame origin with % respect to the camera coordinate frame) %pos1(4:6)=w, p, r euler rotation angles around x, y, z axes.
%par(1)=scale factor ~1 %par(2)=effective focal length %par(3:4)=principal point %par(5:6)=radial distortion coefficients %par(7:8)=tangential distortion coefficients
clc clear all close all
% %
%-------------- Result of caldemo.m -------------------- par=[1.0281;16.5621;285.7615;249.037;0.0005;0.000;0.0002;-0.0001]; % result of caldemo.m for 1st image pos1=[-28.3;-10.4;1794.3;149.2;-53.6;-56.2]; % result of caldemo.m s=1;
%---------------------------------------------------
%one of the calibration point in data1 % Known Pi=[-306.8843;-263.0437; 0;] pi=[447.3374 ; 487.9971;]
%-------- constructing P matrix ---------- P(1,1)=s*par(2); P(1,2)=0; P(1,3)=par(3);P(1,4)=0; P(2,1)=0; P(2,2)=par(2); P(2,3)=par(4);P(2,4)=0; P(3,1)=0; P(3,2)=0; P(3,3)=1;P(3,4)=0; %------------------------------------------
%---- % --- constructing rotation & Tranltn matrix--------- T=pos1(1:3); w=pos1(4);phi=pos1(5);k=pos1(6); ang=[w;phi;k]; r11=cosd(phi)cosd(k); r12=(sind(w)sind(phi)cosd(k))-(cosd(w)sind(k)); r13=(cosd(w)sind(phi)cosd(k))+(sind(w)sind(k)); r21=cosd(phi)sind(k); r22=(sind(w)sind(phi)sind(k))+(cosd(w)cosd(k)); r23=cosd(w)sind(phi)sind(k)-(sind(w)cosd(k)); r31=-sind(phi); r32=sind(w)cosd(phi); r33=cosd(w)cosd(phi); R1=[r11 r12 r13; r21 r22 r23; r31 r32 r33]; %R2=ang2orth(ang); %R3=; R=R1; %--------------------------------------------------------------
% --- % ---- constructing M matrix M(1:3,1:3)=R;M(1:3,4)=T;M(4,:)=[0 0 0 1]; %------------------------------------------------------------------
F=P*M; p=[447.3374 ;487.9971 ;1];
P3 = F\p
% % % x = A\B solves the system of linear equations A*x = B
% R=R1;
% RT=cat(2,R,T); %Rotation translation matrix
% ART=A*RT; % Camera matrix
%
% p=[447.3374 ;487.9971 ;1];
% P3=(ART)\p
%p(1,1)=p(1,1)+par(3);p(2,1)=p(2,1)+par(4);
%
%
% % --- % ---- constructing M matrix
% m11=r11;m12=r12;m13=r13;m14=T(1);
% m21=r21;m22=r22;m23=r23;m24=T(2);
% m31=r31;m32=r32;m33=r33;m34=T(3);
% m41=0;m42=0;m43=0;m44=1;
% %M=[m11 m12 m13 m14;m21 m22 m23 m24; m31 m32 m33 m34;m41 m42 m43 m44];
%
% M(1:3 ...
Could you clean up your code, keep only the essential and format it with the code tags ?