added perf test for gabor filter
authorDaniil Osokin <daniil.osokin@itseez.com>
Thu, 11 Oct 2012 10:52:35 +0000 (14:52 +0400)
committerDaniil Osokin <daniil.osokin@itseez.com>
Thu, 11 Oct 2012 10:52:35 +0000 (14:52 +0400)
modules/imgproc/perf/perf_filter2d.cpp

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