public static void SegmentMotion(
InputArray mhi, OutputArray segmask,
out Rect[] boundingRects,
double timestamp, double segThresh)
{
if (mhi == null)
throw new ArgumentNullException(nameof(mhi));
if (segmask == null)
throw new ArgumentNullException(nameof(segmask));
mhi.ThrowIfDisposed();
segmask.ThrowIfNotReady();
using (var br = new VectorOfRect())
{
NativeMethods.optflow_motempl_segmentMotion(
mhi.CvPtr, segmask.CvPtr, br.CvPtr, timestamp, segThresh);
boundingRects = br.ToArray();
}
segmask.Fix();
}