/// <summary> /// /// </summary> /// <param name="roi"></param> /// <returns></returns> public MatExpr this[Rect roi] { get { return(SubMat(roi)); } set { if (value == null) { throw new ArgumentNullException("nameof(value)"); } MatExpr subMatExpr = SubMat(roi); NativeMethods.core_Mat_assignment_FromMatExpr(subMatExpr.CvPtr, value.CvPtr); } }
/// <summary> /// /// </summary> /// <param name="rowRange"></param> /// <param name="colRange"></param> /// <returns></returns> public MatExpr this[Range rowRange, Range colRange] { get { return(SubMat(rowRange, colRange)); } set { if (value == null) { throw new ArgumentNullException(nameof(value)); } MatExpr subMatExpr = SubMat(rowRange, colRange); NativeMethods.core_Mat_assignment_FromMatExpr(subMatExpr.CvPtr, value.CvPtr); } }
/// <summary> /// /// </summary> /// <param name="roi"></param> /// <returns></returns> public MatExpr this[Rect roi] { get { ThrowIfDisposed(); return(SubMat(roi)); } set { ThrowIfDisposed(); if (value == null) { throw new ArgumentNullException(nameof(value)); } MatExpr subMatExpr = SubMat(roi); NativeMethods.core_Mat_assignment_FromMatExpr(subMatExpr.CvPtr, value.CvPtr); GC.KeepAlive(subMatExpr); GC.KeepAlive(value); } }