OpenCvSharp.Cv2.CalcOpticalFlowPyrLK C# (CSharp) Method

CalcOpticalFlowPyrLK() public static method

computes sparse optical flow using multi-scale Lucas-Kanade algorithm
public static CalcOpticalFlowPyrLK ( InputArray prevImg, InputArray nextImg, InputArray prevPts, OpenCvSharp.InputOutputArray nextPts, OutputArray status, OutputArray err, Size winSize = null, int maxLevel = 3, OpenCvSharp.TermCriteria criteria = null, OpticalFlowFlags flags = OpticalFlowFlags.None, double minEigThreshold = 1e-4 ) : void
prevImg InputArray
nextImg InputArray
prevPts InputArray
nextPts OpenCvSharp.InputOutputArray
status OutputArray
err OutputArray
winSize Size
maxLevel int
criteria OpenCvSharp.TermCriteria
flags OpticalFlowFlags
minEigThreshold double
return void
        public static void CalcOpticalFlowPyrLK(
            InputArray prevImg, InputArray nextImg,
            InputArray prevPts, InputOutputArray nextPts,
            OutputArray status, OutputArray err,
            Size? winSize = null,
            int maxLevel = 3,
            TermCriteria? criteria = null,
            OpticalFlowFlags flags = OpticalFlowFlags.None,
            double minEigThreshold = 1e-4)
        {
            if (prevImg == null)
                throw new ArgumentNullException(nameof(prevImg));
            if (nextImg == null)
                throw new ArgumentNullException(nameof(nextImg));
            if (prevPts == null)
                throw new ArgumentNullException(nameof(prevPts));
            if (nextPts == null)
                throw new ArgumentNullException(nameof(nextPts));
            if (status == null)
                throw new ArgumentNullException(nameof(status));
            if (err == null)
                throw new ArgumentNullException(nameof(err));
            prevImg.ThrowIfDisposed();
            nextImg.ThrowIfDisposed();
            prevPts.ThrowIfDisposed();
            nextPts.ThrowIfNotReady();
            status.ThrowIfNotReady();
            err.ThrowIfNotReady();

            Size winSize0 = winSize.GetValueOrDefault(new Size(21, 21));
            TermCriteria criteria0 = criteria.GetValueOrDefault(
                TermCriteria.Both(30, 0.01));

            NativeMethods.video_calcOpticalFlowPyrLK_InputArray(
                prevImg.CvPtr, nextImg.CvPtr, prevPts.CvPtr, nextPts.CvPtr,
                status.CvPtr, err.CvPtr, winSize0,maxLevel,
                criteria0, (int)flags, minEigThreshold);

            nextPts.Fix();
            status.Fix();
            err.Fix();
        }
        /// <summary>

Same methods

Cv2::CalcOpticalFlowPyrLK ( InputArray prevImg, InputArray nextImg, Point2f prevPts, Point2f &nextPts, byte &status, float &err, Size winSize = null, int maxLevel = 3, OpenCvSharp.TermCriteria criteria = null, OpticalFlowFlags flags = OpticalFlowFlags.None, double minEigThreshold = 1e-4 ) : void
Cv2