public void DetectEdges_Rect_EdgeDetector2DProcessorSet(EdgeDetector2DKernel kernel, bool grayscale) { this.operations.DetectEdges(kernel, grayscale, this.rect); EdgeDetector2DProcessor processor = this.Verify <EdgeDetector2DProcessor>(this.rect); Assert.Equal(grayscale, processor.Grayscale); Assert.Equal(kernel, processor.Kernel); }
public void DetectEdges_Rect_EdgeDetector2DProcessorDefaultsSet() { this.operations.DetectEdges(this.rect); EdgeDetector2DProcessor processor = this.Verify <EdgeDetector2DProcessor>(this.rect); Assert.True(processor.Grayscale); Assert.Equal(KnownEdgeDetectorKernels.Sobel, processor.Kernel); }
public void DetectEdges_Rect_EdgeDetector2DProcessor_DefaultGrayScale_Set(EdgeDetector2DKernel kernel, bool _) { this.operations.DetectEdges(kernel, this.rect); EdgeDetector2DProcessor processor = this.Verify <EdgeDetector2DProcessor>(this.rect); Assert.True(processor.Grayscale); Assert.Equal(kernel, processor.Kernel); }
/// <summary> /// Detects any edges within the image using a <see cref="EdgeDetector2DKernel"/>. /// </summary> /// <param name="source">The image this method extends.</param> /// <param name="kernel">The 2D edge detector kernel.</param> /// <param name="grayscale"> /// Whether to convert the image to grayscale before performing edge detection. /// </param> /// <returns>The <see cref="IImageProcessingContext"/> to allow chaining of operations.</returns> public static IImageProcessingContext DetectEdges( this IImageProcessingContext source, EdgeDetector2DKernel kernel, bool grayscale) { var processor = new EdgeDetector2DProcessor(kernel, grayscale); source.ApplyProcessor(processor); return(source); }