I use the OpenCV triangulatePoints function to determine the 3D coordinates of the point displayed by the stereo camera.
I feel that this function gives me a different distance to the same point depending on the angle of the camera to that point.
Here is the video: https://www.youtube.com/watch?v=FrYBhLJGiE4
In this video, we track the "X". In the upper left corner, information about the point that is being tracked is displayed. (Youtube reduced quality, video is usually much sharper (2x1280) x 720)
In the video, the left camera is the source of the three-dimensional coordinate system and looks in the positive Z direction. The left camera is undergoing some translation, but not as much as the triangulatePoints function suggests. (More information in the video description.)
The metric unit is mm, so the point was initially triangulated at a distance of ~ 1.94 m from the left camera.
I know that inaccurate calibration can lead to this behavior. I performed three independent calibrations using a checkerboard pattern. The resulting parameters change too much to my liking. (Approximately + 10% for estimating focal length).
As you can see, the video is not much distorted. Straight lines seem pretty straight everywhere. Therefore, the optimal camera settings should be close to those that I already use.
My question is: is there anything else that can cause this?
Can the convergence angle between two stereo cameras have this effect? Or the wrong baseline length?
Of course, there are always errors in function detection. Since I use the optical stream to track the “X” mark, I get subpixel accuracy that can be wrong ... I don’t know ... + -0.2 px?
I am using a Stereolabs ZED stereo camera. I do not access video frames directly using OpenCV. Instead, I should use the special SDK that I purchased when I purchased the camera. It seemed to me that this SDK with which I use may be making some undistorted own ones.
So now I wonder ... If the SDK distorts the image using the wrong distortion coefficients, can this create an image that is not distorted with either a barrel or a distortion strut, but something completely different?