Reconstruire en 3D de Coordonnées dans un Système de Coordonnées de la Caméra à partir de 2D - Pixels avec condition côté

Je suis en train de reconstruire en 3D de Coordonnées de la 2D Pixel de Coordonnées dans une Image de la Caméra à l'aide d'une condition côté (en MatLab). J'ai extrinsèques et intrinsèques des paramètres de la caméra.

Homogène à l'aide de la transformation que je peux transformer en 3D-des Coordonnées d'un premier Système de Coordonnées Monde à mon Appareil photo Corrdinate Système. Donc, ici, j'ai mes paramètres extrinsèques dans ma Matrice de Transformation R_world_to_Camera:

R_world_to_Camera = [ r_11, r_12, r_13, t1;
r_21, r_22, r_23, t2;
r_31, r_32, r_33, t3;
0, 0, 0, 1];

Pour les paramètres intrinsèques j'ai utilisé de Caltech "etalonnage de l'Appareil photo Toolbox pour MatLab", et a obtenu ces paramètres:

Calibration results (with uncertainties): 

 Focal Length:          fc = [ 1017.21523   1012.54901 ] ± [ NaN   NaN ] 
 Principal point:       cc = [ 319.50000   239.50000 ] ± [ NaN   NaN ] 
 Skew:             alpha_c = [ 0.00000 ] ± [ NaN  ]   => angle of pixel axes = 90.00000 ± NaN degrees 
 Distortion:            kc = [ 0.00000   0.00000   0.00000   0.00000  0.00000 ] ± [ NaN   NaN   NaN   NaN    NaN ] 
 Pixel error:          err = [ 0.11596   0.14469 ] 

 Note: The numerical errors are approximately three times the standard deviations (for reference).

Si je puis obtenir l'Appareil de Calibrage de la Matrice K (3x3)

K = [1.017215234570303e+03, 0, 3.195000000000000e+02; 
0, 1.012549014668498e+03,2.395000000000000e+02; 
0, 0, 1.0000];

et en utilisant ce que je peux calculer la 3D -> 2D - Projection de la Matrice P (3x4) avec:

P = K * [eye(3), zeros(3,1)];

Lors de la conversion d'un Point de Coordonnées [X, Y, Z]_World je le transforme d'abord à la Caméra Coordonnées et ensuite le projet à 2D:

% Transformation
P_world = [X; Y; Z; 1]; % homogenous coordinates in World coordinate System
P_camera = R_world_to_Camera * [X; Y; Z; 1];

% Projection
P_pixels = P * camera;
P_pixels = P_pixels / P_pixels(3); % normalize coordinates

Donc ma question maintenant est de savoir comment inverser ces étapes? Comme condition côté je veux mettre la coordonnée Z à être connu (zéro dans le monde des coordonnées). J'ai essayé la solution proposée ici sur Stackoverflow, mais de toute façon j'ai mal coordonnées. Une idée? Toute aide est la beaucoup apprécié!

OriginalL'auteur EliteTUM | 2012-07-04