Find the relative position between two cameras

I have one Kinect camera and one webcam, I'm trying to find the rotation / translation matrix between Kinect and the webcam using OpenCV. Here is the setup:

setup

Two cameras are facing in the same direction. I can get the internal matrix for both cameras, but I'm not sure how to get the relative position between them?

I did some research and found the findEssentialMat () function . Apparently, it returns an essential matrix (but this function seems unsuitable, since it assumes that the focal and main point are the same for both cameras), which can be used with:

  • recoverPose ()
  • decposeEssentialMat () -> If I understood, it would return 4 different solutions, should I use this function?

!

EDIT: stereoCalibrate()? .

EDIT2: "stereo_calib.cpp", openCV. , , ?

enter image description here

, "extrinsics.yml", R T, , ? squareSize , , .

+3
3

, stereoCalibrate - , ( , , , do kinect).

, , , . , . , , () .

3D- 2d-, , 3D-, , .

, , , :

enter image description here

, cv::solvePnP, . (, ), ( : ), (, OpenGL). .

Multiple View Geometry.

. OpenCV OpenGL (.. T < > R , ).

: PLUS a kinect? Kinect , 2 . , , .

PS OpenCV , , , , , . .

EDIT: , 3D- , , 3D P (0, 0) P (1,0) P (1,1) P (0,1) solvePnP, " ". 1 , . , , cv::Rodrigues 3- .

+2

stereoCalibrate. .

+3

Kinect -. Kinect - . Kinect , -. , , , , Kinect .

, . , , , , , ( ). . ?

0

All Articles