Adjust perf_filters, as this function only supports 3x3 kernel
authoryao <bitwangyaoyao@gmail.com>
Fri, 31 May 2013 07:16:03 +0000 (15:16 +0800)
committeryao <bitwangyaoyao@gmail.com>
Fri, 31 May 2013 07:16:03 +0000 (15:16 +0800)
modules/ocl/perf/perf_filters.cpp

index 5cf9271..a05301b 100644 (file)
@@ -337,39 +337,38 @@ PERFTEST(filter2D)
         {
             gen(src, size, size, all_type[j], 0, 256);
 
-            for (int ksize = 3; ksize <= 15; ksize = 2*ksize+1)
-            {
-                SUBTEST << "ksize = " << ksize << "; " << size << 'x' << size << "; " << type_name[j] ;
+            const int ksize = 3;
 
-                Mat kernel;
-                gen(kernel, ksize, ksize, CV_32FC1, 0.0, 1.0);
+            SUBTEST << "ksize = " << ksize << "; " << size << 'x' << size << "; " << type_name[j] ;
 
-                Mat dst, ocl_dst;
+            Mat kernel;
+            gen(kernel, ksize, ksize, CV_32SC1, -3.0, 3.0);
 
-                cv::filter2D(src, dst, -1, kernel);
+            Mat dst, ocl_dst;
 
-                CPU_ON;
-                cv::filter2D(src, dst, -1, kernel);
-                CPU_OFF;
+            cv::filter2D(src, dst, -1, kernel);
 
-                ocl::oclMat d_src(src), d_dst;
+            CPU_ON;
+            cv::filter2D(src, dst, -1, kernel);
+            CPU_OFF;
+
+            ocl::oclMat d_src(src), d_dst;
 
-                WARMUP_ON;
-                ocl::filter2D(d_src, d_dst, -1, kernel);
-                WARMUP_OFF;
+            WARMUP_ON;
+            ocl::filter2D(d_src, d_dst, -1, kernel);
+            WARMUP_OFF;
 
-                GPU_ON;
-                ocl::filter2D(d_src, d_dst, -1, kernel);
-                GPU_OFF;
+            GPU_ON;
+            ocl::filter2D(d_src, d_dst, -1, kernel);
+            GPU_OFF;
 
-                GPU_FULL_ON;
-                d_src.upload(src);
-                ocl::filter2D(d_src, d_dst, -1, kernel);
-                d_dst.download(ocl_dst);
-                GPU_FULL_OFF;
+            GPU_FULL_ON;
+            d_src.upload(src);
+            ocl::filter2D(d_src, d_dst, -1, kernel);
+            d_dst.download(ocl_dst);
+            GPU_FULL_OFF;
 
-                TestSystem::instance().ExpectedMatNear(ocl_dst, dst, 1e-5);
-            }
+            TestSystem::instance().ExpectedMatNear(ocl_dst, dst, 1e-5);
 
         }