Using triangulatePoints()

Hello,

i use triangulatePoints function in python and I have two questions about it.

If I use three positions to triangulate my 3d points, in which position is express my 3d point. I think it is according to thé first position but I am not sure.

My second question is about camera with distorsion how can I use that function with distorsion ?

@dev_dev

Let assume you used this one:
https://docs.opencv.org/4.5.5/d9/d0c/group__calib3d.html#gad3fc9a0c82b08df034234979960b778c

It triangulate from two views, not three. The triangulated 3D points are in the first camera reference.

You need each camera intrinsic matrix (usually the same camera is used for the two views).

It only works with undistorted 2D points. Distorted points will ruin your triangulation.

So:

  1. Calibrate your camera, get the intrinsic matrix and distortion coefficients
  2. Use undistortPoints
  3. Use triangulatePoints

Most modern pinhole cameras have small distortion, you can make them work without undistort your points. However, a good calibration giving the right undistortion coefficients will improve triangulation precision.

1 Like

Thanks you for the answer.

1 Like