OpenCV calibration parameters and three-point conversion from stereo cameras

I have 4 ps3eye cameras. And I calibrated cameras1 and camera2 using the cvStereoCalibrate () function of the OpenCV library using a checkerboard pattern, finding the angles and passing their 3d coordinates to this function.

I also calibrated cameras2 and camera3 using a different set of chessboard images viewed by camera2 and camera3.

Using the same method, I calibrated camera3 and camera4.

So, now I have the external and internal parameters of camera1 and camera2, the external and internal parameters of camera2 and camera3, and the external and internal parameters of camera3 and camera4.

where the external parameters are the rotation and translation matrices, and the internal are the length and main focus point matrices.

Now suppose there is a three-dimensional point (world coordinate) (And I know how to find the 3d coordinates from stereo cameras) that are viewed by camera3 and camera4, which is not visible by cameras1 and camera2.

The question I have is: How do you take this three-dimensional coordinate point of the world that is viewed by camera3 and camera4 and transform it with respect to camera1 and camera2 of the world coordinate system using the rotation, translation, focus and principle point parameters?

+4
source share
1 answer

The OpenCV stereo channel gives you only the relative external matrix between the two cameras.

According to your documentation, you do not get transformations in world coordinates (i.e. in relation to the calibration template). He suggests at least starting a normal camera calibration on one of the images and, at least, knowing its transformations. cv :: stereoCalibrate

If the calibrations were perfect, you could use your chain-chaining setup to get a world-wide conversion of any of the cameras.

As far as I know, this is not very stable, because when performing calibration, you should take into account the fact that you have several cameras.

Multi-chamber calibration is not the most trivial issue. Take a look:

I am also looking for a solution for this, so if you learn more about this and OpenCV, let me know.

+2
source

Source: https://habr.com/ru/post/1390919/


All Articles