OpenCvSharp.Cv2.TriangulatePoints C# (CSharp) Method

TriangulatePoints() public static method

Reconstructs points by triangulation.
public static TriangulatePoints ( double projMatr1, double projMatr2, IEnumerable projPoints1, IEnumerable projPoints2 ) : Vec4d[]
projMatr1 double 3x4 projection matrix of the first camera.
projMatr2 double 3x4 projection matrix of the second camera.
projPoints1 IEnumerable 2xN array of feature points in the first image. In case of c++ version /// it can be also a vector of feature points or two-channel matrix of size 1xN or Nx1.
projPoints2 IEnumerable 2xN array of corresponding points in the second image. In case of c++ version /// it can be also a vector of feature points or two-channel matrix of size 1xN or Nx1.
return Vec4d[]
        public static Vec4d[] TriangulatePoints(
            double[,] projMatr1, double[,] projMatr2,
            IEnumerable<Point2d> projPoints1, IEnumerable<Point2d> projPoints2)
        {
            if (projMatr1 == null)
                throw new ArgumentNullException(nameof(projMatr1));
            if (projMatr2 == null)
                throw new ArgumentNullException(nameof(projMatr2));
            if (projPoints1 == null)
                throw new ArgumentNullException(nameof(projPoints1));
            if (projPoints2 == null)
                throw new ArgumentNullException(nameof(projPoints2));
            if (projMatr1.GetLength(0) != 3 && projMatr1.GetLength(1) != 4)
                throw new ArgumentException("projMatr1 != double[3,4]");
            if (projMatr2.GetLength(0) != 3 && projMatr2.GetLength(1) != 4)
                throw new ArgumentException("projMatr2 != double[3,4]");

            Point2d[] projPoints1Array = EnumerableEx.ToArray(projPoints1);
            Point2d[] projPoints2Array = EnumerableEx.ToArray(projPoints2);
            var points4D = new Vec4d[projPoints1Array.Length];

            NativeMethods.calib3d_triangulatePoints_array(
                projMatr1, projMatr2,
                projPoints1Array, projPoints1Array.Length,
                projPoints2Array, projPoints2Array.Length,
                points4D);

            return points4D;
        }
        #endregion

Same methods

Cv2::TriangulatePoints ( InputArray projMatr1, InputArray projMatr2, InputArray projPoints1, InputArray projPoints2, OutputArray points4D ) : void
Cv2