|
|
|
@ -110,6 +110,26 @@ extern int test_loop_times; |
|
|
|
|
<< cv::format("Size: %d x %d", mat1.size().width, mat1.size().height) << std::endl; \
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#define OCL_EXPECT_MATS_NEAR(name, eps) \ |
|
|
|
|
{ \
|
|
|
|
|
EXPECT_MAT_NEAR(name ## _roi, u ## name ## _roi, eps); \
|
|
|
|
|
int nextValue = rng.next(); \
|
|
|
|
|
RNG dataRng1(nextValue), dataRng2(nextValue); \
|
|
|
|
|
dataRng1.fill(name ## _roi, RNG::UNIFORM, Scalar::all(-MAX_VALUE), Scalar::all(MAX_VALUE)); \
|
|
|
|
|
dataRng2.fill(u ## name ## _roi, RNG::UNIFORM, Scalar::all(-MAX_VALUE), Scalar::all(MAX_VALUE)); \
|
|
|
|
|
EXPECT_MAT_NEAR(name, u ## name, 0/*FLT_EPSILON*/); \
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#define OCL_EXPECT_MATS_NEAR_RELATIVE(name, eps) \ |
|
|
|
|
{ \
|
|
|
|
|
EXPECT_MAT_NEAR_RELATIVE(name ## _roi, u ## name ## _roi, eps); \
|
|
|
|
|
int nextValue = rng.next(); \
|
|
|
|
|
RNG dataRng1(nextValue), dataRng2(nextValue); \
|
|
|
|
|
dataRng1.fill(name ## _roi, RNG::UNIFORM, Scalar::all(-MAX_VALUE), Scalar::all(MAX_VALUE)); \
|
|
|
|
|
dataRng2.fill(u ## name ## _roi, RNG::UNIFORM, Scalar::all(-MAX_VALUE), Scalar::all(MAX_VALUE)); \
|
|
|
|
|
EXPECT_MAT_NEAR_RELATIVE(name, u ## name, 0/*FLT_EPSILON*/); \
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#define EXPECT_MAT_SIMILAR(mat1, mat2, eps) \ |
|
|
|
|
{ \
|
|
|
|
|
ASSERT_EQ(mat1.type(), mat2.type()); \
|
|
|
|
@ -302,7 +322,7 @@ IMPLEMENT_PARAM_CLASS(Channels, int) |
|
|
|
|
#define OCL_OFF(fn) cv::ocl::setUseOpenCL(false); fn |
|
|
|
|
#define OCL_ON(fn) cv::ocl::setUseOpenCL(true); fn |
|
|
|
|
|
|
|
|
|
#define OCL_ALL_DEPTHS Values(CV_8U, CV_8S, CV_16U, CV_16S, CV_32S, CV_32F) |
|
|
|
|
#define OCL_ALL_DEPTHS Values(CV_8U, CV_8S, CV_16U, CV_16S, CV_32S, CV_32F, CV_64F) |
|
|
|
|
#define OCL_ALL_CHANNELS Values(1, 2, 3, 4) |
|
|
|
|
|
|
|
|
|
CV_ENUM(Interpolation, INTER_NEAREST, INTER_LINEAR, INTER_CUBIC, INTER_AREA) |
|
|
|
|