public static Mat FindFundamentalMat(
IEnumerable<Point2d> points1, IEnumerable<Point2d> points2,
FundamentalMatMethod method = FundamentalMatMethod.Ransac,
double param1 = 3.0, double param2 = 0.99,
OutputArray mask = null)
{
if (points1 == null)
throw new ArgumentNullException(nameof(points1));
if (points2 == null)
throw new ArgumentNullException(nameof(points2));
Point2d[] points1Array = EnumerableEx.ToArray(points1);
Point2d[] points2Array = EnumerableEx.ToArray(points2);
IntPtr mat = NativeMethods.calib3d_findFundamentalMat_array(
points1Array, points1Array.Length,
points2Array, points2Array.Length, (int)method,
param1, param2, ToPtr(mask));
if (mask != null)
mask.Fix();
return new Mat(mat);
}
#endregion