2017-10-09 10 views
1

Je souhaite convertir une structure MATLAB stereoParameters en matrices intrinsèques et extrinsèques à utiliser dans la fonction stereoRectify d'OpenCV.Conversion entre les paramètres stéréo MATLAB et l'étalonnage stéréo d'OpenCV stereoRectify

Si je compris http://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html et http://mathworks.com/help/vision/ref/stereoparameters-class.html, stereoParameters.CameraParameters1 et stereoParameters.CameraParameters2 stockent les matrices intrinsèques et les autres membres de stereoParameters les ones extrinsèques.

Je pense que je suis arrivé cette cartographie

Intrinsics:

  • cameraMatrix1 = stereoParameters.CameraParameters1.IntrinsicMatrix '
  • cameraMatrix2 = stereoParameters.CameraParameters2.IntrinsicMatrix'
  • distCoeffs1 = [stereoParameters.CameraParameters1 .RadialDistortion (1: 2), stereoParameters.CameraParameters1.TangentialDistortion, stereoParameters.CameraParameters1.RadialDistortion (3)]
  • distCoeffs2 = [stereoParameters.CameraParameters2.RadialDistortion (1: 2), stereoParameters.CameraParameters2.TangentialDistortion, stereoParameters.CameraParameters2.RadialDistortion (3)]

extrinsèques:

  • R = stereoParameters.RotationOfCamera2 '
  • T = stereoParameters.TranslationOfCamera2'

Est-ce exact, à ce jour?

Pourtant, je ne vois pas comment obtenir

  • R1 (3x3)
  • R2 (3x3)
  • P1 (3x4)
  • P2 (3x4)
  • Q (4x4)

matrices du reste des paramètres stereoParameters.

Y a-t-il un convertisseur existant que je peux utiliser, et sinon, quelles sont les formules?

+0

J'ai trouvé une formule pour Q à http://stackoverflow.com/a/28317841. – Gnubie

Répondre

0

https://stackoverflow.com/a/28317841 donne la formule de la matrice Q:

Q formula

Tx est de matrice T. cx, cy et cx » sont des matrices de la caméra. f est une combinaison judicieuse de leurs focales x et y.

Toujours pas comment obtenir P1, P2, R1 et R2 bien. N'importe qui?