From a11735fb6a4de5cd993d60b8bac18ffb6625c4c3 Mon Sep 17 00:00:00 2001 From: dirk Date: Sun, 23 Oct 2016 11:24:17 +0200 Subject: [PATCH] Added benchmarks for detecting edges. Former-commit-id: 5b822ad516872b035de3112840270ee3e05aa2e2 Former-commit-id: 0cd7c02e8b19ca034d519796a3cbd049c36294c1 Former-commit-id: 6b2493b3e95b7325c8d87471ae0ba749a5924b03 --- .../Samplers/DetectEdges.cs | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 tests/ImageProcessorCore.Benchmarks/Samplers/DetectEdges.cs 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); + } + } +}