diff --git a/tests/ImageProcessorCore.Benchmarks/Samplers/DetectEdges.cs b/tests/ImageProcessorCore.Benchmarks/Samplers/DetectEdges.cs new file mode 100644 index 0000000000..4573587f22 --- /dev/null +++ b/tests/ImageProcessorCore.Benchmarks/Samplers/DetectEdges.cs @@ -0,0 +1,47 @@ +// +// Copyright (c) James Jackson-South and contributors. +// Licensed under the Apache License, Version 2.0. +// + + +namespace ImageProcessorCore.Benchmarks +{ + using System.IO; + + using BenchmarkDotNet.Attributes; + + using CoreImage = ImageProcessorCore.Image; + + public class DetectEdges + { + private CoreImage image; + + [Setup] + public void ReadImage() + { + if (image == null) + { + using(FileStream stream = File.OpenRead("../ImageProcessorCore.Tests/TestImages/Formats/Bmp/Car.bmp")) + { + image = new CoreImage(stream); + } + } + } + + [Benchmark(Description = "ImageProcessorCore DetectEdges")] + public void ImageProcessorCoreDetectEdges() + { + image.DetectEdges(EdgeDetection.Kayyali); + image.DetectEdges(EdgeDetection.Kayyali); + image.DetectEdges(EdgeDetection.Kirsch); + image.DetectEdges(EdgeDetection.Lapacian3X3); + image.DetectEdges(EdgeDetection.Lapacian5X5); + image.DetectEdges(EdgeDetection.LaplacianOfGaussian); + image.DetectEdges(EdgeDetection.Prewitt); + image.DetectEdges(EdgeDetection.RobertsCross); + image.DetectEdges(EdgeDetection.Robinson); + image.DetectEdges(EdgeDetection.Scharr); + image.DetectEdges(EdgeDetection.Sobel); + } + } +}