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
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