/// <summary> /// Create a Sobel filter. /// </summary> /// <param name="srcDepth">The depth of the source image</param> /// <param name="srcChannels">The number of channels of the source image</param> /// <param name="dstDepth">The depth of the destination image</param> /// <param name="dstChannels">The number of channels of the the destination image</param> /// <param name="dx">Order of the derivative x</param> /// <param name="dy">Order of the derivative y</param> /// <param name="ksize">Size of the extended Sobel kernel</param> /// <param name="scale">Optional scale, use 1 for default.</param> /// <param name="rowBorderType">The row border type.</param> /// <param name="columnBorderType">The column border type.</param> public CudaSobelFilter( DepthType srcDepth, int srcChannels, DepthType dstDepth, int dstChannels, int dx, int dy, int ksize = 3, double scale = 1.0, CvEnum.BorderType rowBorderType = BorderType.Default, CvEnum.BorderType columnBorderType = BorderType.NegativeOne) { _ptr = CudaInvoke.cudaCreateSobelFilter(CvInvoke.MakeType(srcDepth, srcChannels), CvInvoke.MakeType(dstDepth, dstChannels), dx, dy, ksize, scale, rowBorderType, columnBorderType, ref _sharedPtr); }