public override void Calc(
InputArray frame0, InputArray frame1, InputOutputArray flow)
{
if (disposed)
throw new ObjectDisposedException("DenseOpticalFlowImpl");
if (frame0 == null)
throw new ArgumentNullException(nameof(frame0));
if (frame1 == null)
throw new ArgumentNullException(nameof(frame1));
if (flow == null)
throw new ArgumentNullException(nameof(flow));
frame0.ThrowIfDisposed();
frame1.ThrowIfDisposed();
flow.ThrowIfNotReady();
NativeMethods.video_DenseOpticalFlow_calc(
ptr, frame0.CvPtr, frame1.CvPtr, flow.CvPtr);
flow.Fix();
}