diff --git a/modules/imgproc/perf/perf_filter2d.cpp b/modules/imgproc/perf/perf_filter2d.cpp index f012096fc..fd9a23245 100644 --- a/modules/imgproc/perf/perf_filter2d.cpp +++ b/modules/imgproc/perf/perf_filter2d.cpp @@ -11,7 +11,7 @@ using std::tr1::get; CV_ENUM(BorderMode, BORDER_CONSTANT, BORDER_REPLICATE, BORDER_REFLECT_101); typedef TestBaseWithParam< tr1::tuple > TestFilter2d; - +typedef TestBaseWithParam< tr1::tuple > Image_KernelSize; PERF_TEST_P( TestFilter2d, Filter2d, Combine( @@ -42,4 +42,35 @@ PERF_TEST_P( TestFilter2d, Filter2d, SANITY_CHECK(dst); } +PERF_TEST_P( Image_KernelSize, GaborFilter2d, + Combine( + Values("stitching/a1.png", "cv/shared/pic5.png"), + Values(16, 32, 64) ) + ) +{ + String fileName = getDataPath(get<0>(GetParam())); + Mat sourceImage = imread(fileName, IMREAD_GRAYSCALE); + if( sourceImage.empty() ) + { + FAIL() << "Unable to load source image" << fileName; + } + + int kernelSize = get<1>(GetParam()); + double sigma = 4; + double lambda = 11; + double theta = 47; + double gamma = 0.5; + Mat gaborKernel = getGaborKernel(Size(kernelSize, kernelSize), sigma, theta, lambda, gamma); + Mat filteredImage; + + declare.in(sourceImage); + + TEST_CYCLE() + { + filter2D(sourceImage, filteredImage, CV_32F, gaborKernel); + } + + SANITY_CHECK(filteredImage); +} +