/// <summary> /// Filtering is the fundamental operation in image and video processing. /// Edge-preserving smoothing filters are used in many different applications @cite EM11 . /// </summary> /// <param name="src">Input 8-bit 3-channel image.</param> /// <param name="dst">Output 8-bit 3-channel image.</param> /// <param name="flags">Edge preserving filters</param> /// <param name="sigmaS">Range between 0 to 200.</param> /// <param name="sigmaR">Range between 0 to 1.</param> public static void EdgePreservingFilter( InputArray src, OutputArray dst, EdgePreservingMethods flags = EdgePreservingMethods.RecursFilter, float sigmaS = 60, float sigmaR = 0.4f) { if (src == null) { throw new ArgumentNullException(nameof(src)); } if (dst == null) { throw new ArgumentNullException(nameof(dst)); } src.ThrowIfDisposed(); dst.ThrowIfNotReady(); NativeMethods.photo_edgePreservingFilter( src.CvPtr, dst.CvPtr, (int)flags, sigmaS, sigmaR); GC.KeepAlive(src); dst.Fix(); }
/// <summary> /// Filtering is the fundamental operation in image and video processing. /// Edge-preserving smoothing filters are used in many different applications @cite EM11 . /// </summary> /// <param name="src">Input 8-bit 3-channel image.</param> /// <param name="dst">Output 8-bit 3-channel image.</param> /// <param name="flags">Edge preserving filters</param> /// <param name="sigmaS">Range between 0 to 200.</param> /// <param name="sigmaR">Range between 0 to 1.</param> public static void EdgePreservingFilter( InputArray src, OutputArray dst, EdgePreservingMethods flags = EdgePreservingMethods.RecursFilter, float sigmaS = 60, float sigmaR = 0.4f) { if (src == null) throw new ArgumentNullException("src"); if (dst == null) throw new ArgumentNullException("dst"); src.ThrowIfDisposed(); dst.ThrowIfNotReady(); NativeMethods.photo_edgePreservingFilter( src.CvPtr, dst.CvPtr, (int)flags, sigmaS, sigmaR); GC.KeepAlive(src); dst.Fix(); }