2013-02-12 70 views
1

http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#calibratecameraOpenCV的攝像機標定使用旋轉矩陣

的我用CV :: calibrateCamera方法與9 * 6棋盤圖案。 現在我得到rvecs和tvecs對應於每種模式, 有人可以解釋rvecs和tvecs的格式嗎? 據我瞭解,它是每個是3 * 1矩陣。 和OpenCV文檔建議查看Rodrigues函數。

http://en.wikipedia.org/wiki/Rodrigues'_rotation_formula

據Rodrigues的來講它是這樣旋轉的矢量 周圍角度theta給定軸。 但爲此,我們需要四個值單位矢量(ux,uy,uz)和角度。但openCV似乎只使用3個值。

OpenCV的羅德里格斯文檔,請參閱以下鏈接http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#void Rodrigues(InputArray src, OutputArray dst, OutputArray jacobian)

說,它會轉換3 * 1矩陣,3 * 3的旋轉矩陣。 這個矩陣與我們使用3D圖形相同嗎? 可以我將其轉換爲4×4矩陣,並將其用於轉化象下面

m4x4的[

XXX 0

XXX 0

XXX 0

]

x:是來自Rodrigues函數輸出3by3矩陣的值。 關係是否有效:

Vout = M4X4 * Vin; 使用上面的矩陣。

回答

1

的3X1旋轉矢量可以通過經由方向限定旋轉軸線表達的旋轉矩陣,該矢量點和通過該矢量的大小的角度。使用opencv函數Rodrigues(InputArray src, OutputArray dst)您可以獲得適合您描述的函數的旋轉矩陣。