2013-04-19 11 views

risposta

9

calibrateCamera() si
una matrice 3x3 come cameraMatrix,
restituisce una matrice 4x1 come distCoeffs, e rvecs e tvecs che sono vettori di rotazione 3x1 (R) e 3x1 trasformazione (t) matrici.

Quello che vuoi è ProjectionMatrix, che è moltiplicato [cameraMatrix] per [R | t]. 3D into 2D Projection

Pertanto, si ritorna un ProjectionMatrix 3x4.
Puoi leggere OpenCV documentation per maggiori informazioni.

+0

Si dice che abbiamo una rotazione 3x1, ma nella formula seguente è 3x3 (r_11, ..., r_33). Come è possibile? Puoi aggiungere del codice C++ per calcolare la matrice di proiezione da camMatrix (3x3) e distMatrix (4x1)? – Dennis

+0

Devo chiamare la funzione 'Rodriguez', giusto? – Dennis

+0

corretto, Rodriguez converte il vettore di rotazione in matrice di rotazione che è possibile utilizzare nella formula precedente – Thesane