added missed tests for cv::norm, cv::normalize
authorIlya Lavrenov <ilya.lavrenov@itseez.com>
Thu, 29 May 2014 10:09:22 +0000 (14:09 +0400)
committerIlya Lavrenov <ilya.lavrenov@itseez.com>
Thu, 29 May 2014 12:00:38 +0000 (16:00 +0400)
modules/core/perf/opencl/perf_arithm.cpp

index 1fb9265..f6ad607 100644 (file)
@@ -738,6 +738,26 @@ CV_ENUM(NormType, NORM_INF, NORM_L1, NORM_L2)
 typedef std::tr1::tuple<Size, MatType, NormType> NormParams;
 typedef TestBaseWithParam<NormParams> NormFixture;
 
+OCL_PERF_TEST_P(NormFixture, Norm1Arg,
+                ::testing::Combine(OCL_PERF_ENUM(OCL_SIZE_1, OCL_SIZE_2, OCL_SIZE_3),
+                                   OCL_TEST_TYPES_134, NormType::all()))
+{
+    const NormParams params = GetParam();
+    const Size srcSize = get<0>(params);
+    const int type = get<1>(params);
+    const int normType = get<2>(params);
+
+    checkDeviceMaxMemoryAllocSize(srcSize, type);
+
+    UMat src1(srcSize, type);
+    double res;
+    declare.in(src1, WARMUP_RNG);
+
+    OCL_TEST_CYCLE() res = cv::norm(src1, normType);
+
+    SANITY_CHECK(res, 1e-5, ERROR_RELATIVE);
+}
+
 OCL_PERF_TEST_P(NormFixture, Norm,
                 ::testing::Combine(OCL_PERF_ENUM(OCL_SIZE_1, OCL_SIZE_2, OCL_SIZE_3),
                                    OCL_TEST_TYPES_134, NormType::all()))
@@ -910,6 +930,24 @@ OCL_PERF_TEST_P(NormalizeFixture, Normalize,
     SANITY_CHECK(dst, 5e-2);
 }
 
+OCL_PERF_TEST_P(NormalizeFixture, NormalizeWithMask,
+                ::testing::Combine(OCL_TEST_SIZES, OCL_PERF_ENUM(CV_8UC1, CV_32FC1),
+                                   NormalizeModes::all()))
+{
+    const NormalizeParams params = GetParam();
+    const Size srcSize = get<0>(params);
+    const int type = get<1>(params), mode = get<2>(params);
+
+    checkDeviceMaxMemoryAllocSize(srcSize, type);
+
+    UMat src(srcSize, type), mask(srcSize, CV_8UC1), dst(srcSize, type);
+    declare.in(src, mask, WARMUP_RNG).out(dst);
+
+    OCL_TEST_CYCLE() cv::normalize(src, dst, 10, 110, mode, -1, mask);
+
+    SANITY_CHECK(dst, 5e-2);
+}
+
 ///////////// ConvertScaleAbs ////////////////////////
 
 typedef Size_MatType ConvertScaleAbsFixture;