simplify logics in filter tests, remove redundant code in arithm tests
This commit is contained in:
parent
52dbbae82c
commit
e4d3378230
@ -12,6 +12,7 @@
|
|||||||
//
|
//
|
||||||
// Copyright (C) 2010-2012, Institute Of Software Chinese Academy Of Science, all rights reserved.
|
// Copyright (C) 2010-2012, Institute Of Software Chinese Academy Of Science, all rights reserved.
|
||||||
// Copyright (C) 2010-2012, Advanced Micro Devices, Inc., all rights reserved.
|
// Copyright (C) 2010-2012, Advanced Micro Devices, Inc., all rights reserved.
|
||||||
|
// Copyright (C) 2010-2012, Multicoreware, Inc., all rights reserved.
|
||||||
// Third party copyrights are property of their respective owners.
|
// Third party copyrights are property of their respective owners.
|
||||||
//
|
//
|
||||||
// @Authors
|
// @Authors
|
||||||
@ -21,6 +22,7 @@
|
|||||||
// Jiang Liyuan,jlyuan001.good@163.com
|
// Jiang Liyuan,jlyuan001.good@163.com
|
||||||
// Rock Li, Rock.Li@amd.com
|
// Rock Li, Rock.Li@amd.com
|
||||||
// Zailong Wu, bullet@yeah.net
|
// Zailong Wu, bullet@yeah.net
|
||||||
|
// Yao Wang, bitwangyaoyao@gmail.com
|
||||||
//
|
//
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
// Redistribution and use in source and binary forms, with or without modification,
|
||||||
// are permitted provided that the following conditions are met:
|
// are permitted provided that the following conditions are met:
|
||||||
@ -87,14 +89,13 @@ PARAM_TEST_CASE(ArithmTestBase, MatType, bool)
|
|||||||
int maskx;
|
int maskx;
|
||||||
int masky;
|
int masky;
|
||||||
|
|
||||||
|
|
||||||
//src mat with roi
|
//src mat with roi
|
||||||
cv::Mat mat1_roi;
|
cv::Mat mat1_roi;
|
||||||
cv::Mat mat2_roi;
|
cv::Mat mat2_roi;
|
||||||
cv::Mat mask_roi;
|
cv::Mat mask_roi;
|
||||||
cv::Mat dst_roi;
|
cv::Mat dst_roi;
|
||||||
cv::Mat dst1_roi; //bak
|
cv::Mat dst1_roi; //bak
|
||||||
//std::vector<cv::ocl::Info> oclinfo;
|
|
||||||
//ocl dst mat for testing
|
//ocl dst mat for testing
|
||||||
cv::ocl::oclMat gdst_whole;
|
cv::ocl::oclMat gdst_whole;
|
||||||
cv::ocl::oclMat gdst1_whole; //bak
|
cv::ocl::oclMat gdst1_whole; //bak
|
||||||
@ -202,17 +203,12 @@ TEST_P(Lut, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download (cpu_dst);
|
gdst_whole.download (cpu_dst);
|
||||||
char s[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0, "");
|
||||||
sprintf(s, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0, s);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////exp/////////////////////////////////////////////////
|
////////////////////////////////exp/////////////////////////////////////////////////
|
||||||
|
|
||||||
struct Exp : ArithmTestBase {};
|
struct Exp : ArithmTestBase {};
|
||||||
|
|
||||||
TEST_P(Exp, Mat)
|
TEST_P(Exp, Mat)
|
||||||
@ -227,16 +223,13 @@ TEST_P(Exp, Mat)
|
|||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
|
|
||||||
char s[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 2, "");
|
||||||
sprintf(s, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 2, s);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////log/////////////////////////////////////////////////
|
////////////////////////////////log/////////////////////////////////////////////////
|
||||||
|
|
||||||
struct Log : ArithmTestBase {};
|
struct Log : ArithmTestBase {};
|
||||||
|
|
||||||
TEST_P(Log, Mat)
|
TEST_P(Log, Mat)
|
||||||
@ -245,24 +238,17 @@ TEST_P(Log, Mat)
|
|||||||
{
|
{
|
||||||
random_roi();
|
random_roi();
|
||||||
|
|
||||||
|
|
||||||
cv::log(mat1_roi, dst_roi);
|
cv::log(mat1_roi, dst_roi);
|
||||||
cv::ocl::log(gmat1, gdst);
|
cv::ocl::log(gmat1, gdst);
|
||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char s[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1, "");
|
||||||
sprintf(s, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1, s);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////add/////////////////////////////////////////////////
|
////////////////////////////////add/////////////////////////////////////////////////
|
||||||
|
|
||||||
struct Add : ArithmTestBase {};
|
struct Add : ArithmTestBase {};
|
||||||
|
|
||||||
TEST_P(Add, Mat)
|
TEST_P(Add, Mat)
|
||||||
@ -276,9 +262,7 @@ TEST_P(Add, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char s[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
sprintf(s, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, s);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -293,9 +277,7 @@ TEST_P(Add, Mat_Mask)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char s[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
sprintf(s, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, s);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TEST_P(Add, Scalar)
|
TEST_P(Add, Scalar)
|
||||||
@ -309,9 +291,7 @@ TEST_P(Add, Scalar)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char s[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
sprintf(s, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, s);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -326,9 +306,7 @@ TEST_P(Add, Scalar_Mask)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char s[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
sprintf(s, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, s);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -348,9 +326,7 @@ TEST_P(Sub, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char s[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
sprintf(s, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, s);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,11 +341,10 @@ TEST_P(Sub, Mat_Mask)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char s[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
sprintf(s, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, s);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(Sub, Scalar)
|
TEST_P(Sub, Scalar)
|
||||||
{
|
{
|
||||||
for(int j = 0; j < LOOP_TIMES; j++)
|
for(int j = 0; j < LOOP_TIMES; j++)
|
||||||
@ -381,9 +356,7 @@ TEST_P(Sub, Scalar)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char s[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
sprintf(s, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, s);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -398,9 +371,7 @@ TEST_P(Sub, Scalar_Mask)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char s[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
sprintf(s, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, s);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -420,9 +391,7 @@ TEST_P(Mul, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char s[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
sprintf(s, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, s);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -440,9 +409,7 @@ TEST_P(Mul, Mat_Scalar)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.001, "");
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.001, sss);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,10 +428,7 @@ TEST_P(Div, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1, "");
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1, sss);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -482,10 +446,7 @@ TEST_P(Div, Mat_Scalar)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.001, "");
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.001, sss);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -503,10 +464,7 @@ TEST_P(Absdiff, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0, "");
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0, sss);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -521,10 +479,7 @@ TEST_P(Absdiff, Mat_Scalar)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -546,10 +501,8 @@ TEST_P(CartToPolar, angleInDegree)
|
|||||||
|
|
||||||
cv::Mat cpu_dst1;
|
cv::Mat cpu_dst1;
|
||||||
gdst1_whole.download(cpu_dst1);
|
gdst1_whole.download(cpu_dst1);
|
||||||
char sss[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.5, "");
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
EXPECT_MAT_NEAR(dst1, cpu_dst1, 0.5, "");
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.5, sss);
|
|
||||||
EXPECT_MAT_NEAR(dst1, cpu_dst1, 0.5, sss);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -567,16 +520,12 @@ TEST_P(CartToPolar, angleInRadians)
|
|||||||
|
|
||||||
cv::Mat cpu_dst1;
|
cv::Mat cpu_dst1;
|
||||||
gdst1_whole.download(cpu_dst1);
|
gdst1_whole.download(cpu_dst1);
|
||||||
char sss[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.5, "");
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
EXPECT_MAT_NEAR(dst1, cpu_dst1, 0.5, "");
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.5, sss);
|
|
||||||
EXPECT_MAT_NEAR(dst1, cpu_dst1, 0.5, sss);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
struct PolarToCart : ArithmTestBase {};
|
struct PolarToCart : ArithmTestBase {};
|
||||||
|
|
||||||
TEST_P(PolarToCart, angleInDegree)
|
TEST_P(PolarToCart, angleInDegree)
|
||||||
@ -593,11 +542,9 @@ TEST_P(PolarToCart, angleInDegree)
|
|||||||
|
|
||||||
cv::Mat cpu_dst1;
|
cv::Mat cpu_dst1;
|
||||||
gdst1_whole.download(cpu_dst1);
|
gdst1_whole.download(cpu_dst1);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.5, "");
|
||||||
EXPECT_MAT_NEAR(dst1, cpu_dst1, 0.5, sss);
|
EXPECT_MAT_NEAR(dst1, cpu_dst1, 0.5, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -615,11 +562,9 @@ TEST_P(PolarToCart, angleInRadians)
|
|||||||
|
|
||||||
cv::Mat cpu_dst1;
|
cv::Mat cpu_dst1;
|
||||||
gdst1_whole.download(cpu_dst1);
|
gdst1_whole.download(cpu_dst1);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.5, "");
|
||||||
EXPECT_MAT_NEAR(dst1, cpu_dst1, 0.5, sss);
|
EXPECT_MAT_NEAR(dst1, cpu_dst1, 0.5, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -639,16 +584,12 @@ TEST_P(Magnitude, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
struct Transpose : ArithmTestBase {};
|
struct Transpose : ArithmTestBase {};
|
||||||
|
|
||||||
TEST_P(Transpose, Mat)
|
TEST_P(Transpose, Mat)
|
||||||
@ -662,17 +603,13 @@ TEST_P(Transpose, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
struct Flip : ArithmTestBase {};
|
struct Flip : ArithmTestBase {};
|
||||||
|
|
||||||
TEST_P(Flip, X)
|
TEST_P(Flip, X)
|
||||||
@ -686,10 +623,8 @@ TEST_P(Flip, X)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -704,10 +639,8 @@ TEST_P(Flip, Y)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -722,15 +655,12 @@ TEST_P(Flip, BOTH)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
struct MinMax : ArithmTestBase {};
|
struct MinMax : ArithmTestBase {};
|
||||||
|
|
||||||
TEST_P(MinMax, MAT)
|
TEST_P(MinMax, MAT)
|
||||||
@ -761,12 +691,8 @@ TEST_P(MinMax, MAT)
|
|||||||
double minVal_, maxVal_;
|
double minVal_, maxVal_;
|
||||||
cv::ocl::minMax(gmat1, &minVal_, &maxVal_);
|
cv::ocl::minMax(gmat1, &minVal_, &maxVal_);
|
||||||
|
|
||||||
//check results
|
EXPECT_DOUBLE_EQ(minVal_, minVal);
|
||||||
char sss[1024];
|
EXPECT_DOUBLE_EQ(maxVal_, maxVal);
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_DOUBLE_EQ(minVal_, minVal) << sss;
|
|
||||||
EXPECT_DOUBLE_EQ(maxVal_, maxVal) << sss;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -799,12 +725,8 @@ TEST_P(MinMax, MASK)
|
|||||||
double minVal_, maxVal_;
|
double minVal_, maxVal_;
|
||||||
cv::ocl::minMax(gmat1, &minVal_, &maxVal_, gmask);
|
cv::ocl::minMax(gmat1, &minVal_, &maxVal_, gmask);
|
||||||
|
|
||||||
//check results
|
EXPECT_DOUBLE_EQ(minVal_, minVal);
|
||||||
char sss[1024];
|
EXPECT_DOUBLE_EQ(maxVal_, maxVal);
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_DOUBLE_EQ(minVal_, minVal) << sss;
|
|
||||||
EXPECT_DOUBLE_EQ(maxVal_, maxVal) << sss;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -915,17 +837,13 @@ TEST_P(MinMaxLoc, MAT)
|
|||||||
error1 = ::abs(mat1_roi.at<double>(maxLoc_) - mat1_roi.at<double>(maxLoc));
|
error1 = ::abs(mat1_roi.at<double>(maxLoc_) - mat1_roi.at<double>(maxLoc));
|
||||||
}
|
}
|
||||||
|
|
||||||
//check results
|
EXPECT_DOUBLE_EQ(minVal_, minVal);
|
||||||
char sss[1024];
|
EXPECT_DOUBLE_EQ(maxVal_, maxVal);
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
EXPECT_DOUBLE_EQ(minlocVal_, minlocVal);
|
||||||
|
EXPECT_DOUBLE_EQ(maxlocVal_, maxlocVal);
|
||||||
|
|
||||||
EXPECT_DOUBLE_EQ(minVal_, minVal) << sss;
|
EXPECT_DOUBLE_EQ(error0, 0.0);
|
||||||
EXPECT_DOUBLE_EQ(maxVal_, maxVal) << sss;
|
EXPECT_DOUBLE_EQ(error1, 0.0);
|
||||||
EXPECT_DOUBLE_EQ(minlocVal_, minlocVal) << sss;
|
|
||||||
EXPECT_DOUBLE_EQ(maxlocVal_, maxlocVal) << sss;
|
|
||||||
|
|
||||||
EXPECT_DOUBLE_EQ(error0, 0.0) << sss;
|
|
||||||
EXPECT_DOUBLE_EQ(error1, 0.0) << sss;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1036,17 +954,13 @@ TEST_P(MinMaxLoc, MASK)
|
|||||||
error1 = ::abs(mat1_roi.at<double>(maxLoc_) - mat1_roi.at<double>(maxLoc));
|
error1 = ::abs(mat1_roi.at<double>(maxLoc_) - mat1_roi.at<double>(maxLoc));
|
||||||
}
|
}
|
||||||
|
|
||||||
//check results
|
EXPECT_DOUBLE_EQ(minVal_, minVal);
|
||||||
char sss[1024];
|
EXPECT_DOUBLE_EQ(maxVal_, maxVal);
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
EXPECT_DOUBLE_EQ(minlocVal_, minlocVal);
|
||||||
|
EXPECT_DOUBLE_EQ(maxlocVal_, maxlocVal);
|
||||||
|
|
||||||
EXPECT_DOUBLE_EQ(minVal_, minVal) << sss;
|
EXPECT_DOUBLE_EQ(error0, 0.0);
|
||||||
EXPECT_DOUBLE_EQ(maxVal_, maxVal) << sss;
|
EXPECT_DOUBLE_EQ(error1, 0.0);
|
||||||
EXPECT_DOUBLE_EQ(minlocVal_, minlocVal) << sss;
|
|
||||||
EXPECT_DOUBLE_EQ(maxlocVal_, maxlocVal) << sss;
|
|
||||||
|
|
||||||
EXPECT_DOUBLE_EQ(error0, 0.0) << sss;
|
|
||||||
EXPECT_DOUBLE_EQ(error1, 0.0) << sss;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1060,14 +974,12 @@ TEST_P(Sum, MAT)
|
|||||||
random_roi();
|
random_roi();
|
||||||
Scalar cpures = cv::sum(mat1_roi);
|
Scalar cpures = cv::sum(mat1_roi);
|
||||||
Scalar gpures = cv::ocl::sum(gmat1);
|
Scalar gpures = cv::ocl::sum(gmat1);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
//check results
|
//check results
|
||||||
EXPECT_NEAR(cpures[0], gpures[0], 0.1) << sss;
|
EXPECT_NEAR(cpures[0], gpures[0], 0.1);
|
||||||
EXPECT_NEAR(cpures[1], gpures[1], 0.1) << sss;
|
EXPECT_NEAR(cpures[1], gpures[1], 0.1);
|
||||||
EXPECT_NEAR(cpures[2], gpures[2], 0.1) << sss;
|
EXPECT_NEAR(cpures[2], gpures[2], 0.1);
|
||||||
EXPECT_NEAR(cpures[3], gpures[3], 0.1) << sss;
|
EXPECT_NEAR(cpures[3], gpures[3], 0.1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1082,11 +994,7 @@ TEST_P(CountNonZero, MAT)
|
|||||||
int cpures = cv::countNonZero(mat1_roi);
|
int cpures = cv::countNonZero(mat1_roi);
|
||||||
int gpures = cv::ocl::countNonZero(gmat1);
|
int gpures = cv::ocl::countNonZero(gmat1);
|
||||||
|
|
||||||
//check results
|
EXPECT_DOUBLE_EQ((double)cpures, (double)gpures);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_DOUBLE_EQ((double)cpures, (double)gpures) << sss;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1112,9 +1020,7 @@ TEST_P(Phase, Mat)
|
|||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
|
|
||||||
char sss[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-2, "");
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-2, sss);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1134,10 +1040,8 @@ TEST_P(Bitwise_and, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1152,10 +1056,8 @@ TEST_P(Bitwise_and, Mat_Mask)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TEST_P(Bitwise_and, Scalar)
|
TEST_P(Bitwise_and, Scalar)
|
||||||
@ -1169,10 +1071,8 @@ TEST_P(Bitwise_and, Scalar)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1188,11 +1088,8 @@ TEST_P(Bitwise_and, Scalar_Mask)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char *sss = new char[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
delete[] sss;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1213,10 +1110,8 @@ TEST_P(Bitwise_or, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1231,10 +1126,8 @@ TEST_P(Bitwise_or, Mat_Mask)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TEST_P(Bitwise_or, Scalar)
|
TEST_P(Bitwise_or, Scalar)
|
||||||
@ -1248,10 +1141,8 @@ TEST_P(Bitwise_or, Scalar)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1266,10 +1157,8 @@ TEST_P(Bitwise_or, Scalar_Mask)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1290,10 +1179,8 @@ TEST_P(Bitwise_xor, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1308,10 +1195,8 @@ TEST_P(Bitwise_xor, Mat_Mask)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TEST_P(Bitwise_xor, Scalar)
|
TEST_P(Bitwise_xor, Scalar)
|
||||||
@ -1325,10 +1210,8 @@ TEST_P(Bitwise_xor, Scalar)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1343,10 +1226,8 @@ TEST_P(Bitwise_xor, Scalar_Mask)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1366,10 +1247,8 @@ TEST_P(Bitwise_not, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1386,7 +1265,7 @@ TEST_P(Compare, Mat)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int cmp_codes[] = {CMP_EQ, CMP_GT, CMP_GE, CMP_LT, CMP_LE, CMP_NE};
|
int cmp_codes[] = {CMP_EQ, CMP_GT, CMP_GE, CMP_LT, CMP_LE, CMP_NE};
|
||||||
const char *cmp_str[] = {"CMP_EQ", "CMP_GT", "CMP_GE", "CMP_LT", "CMP_LE", "CMP_NE"};
|
//const char *cmp_str[] = {"CMP_EQ", "CMP_GT", "CMP_GE", "CMP_LT", "CMP_LE", "CMP_NE"};
|
||||||
int cmp_num = sizeof(cmp_codes) / sizeof(int);
|
int cmp_num = sizeof(cmp_codes) / sizeof(int);
|
||||||
|
|
||||||
for (int i = 0; i < cmp_num; ++i)
|
for (int i = 0; i < cmp_num; ++i)
|
||||||
@ -1401,10 +1280,8 @@ TEST_P(Compare, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "cmptype=%s, roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", cmp_str[i], roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 0.0, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1430,10 +1307,7 @@ TEST_P(Pow, Mat)
|
|||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
|
|
||||||
char sss[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1, "");
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1, sss);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1464,16 +1338,13 @@ TEST_P(MagnitudeSqr, Mat)
|
|||||||
// end = cv::getTickCount();
|
// end = cv::getTickCount();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cv::ocl::oclMat clmat1(mat1), clmat2(mat2), cldst;
|
cv::ocl::oclMat clmat1(mat1), clmat2(mat2), cldst;
|
||||||
cv::ocl::magnitudeSqr(clmat1, clmat2, cldst);
|
cv::ocl::magnitudeSqr(clmat1, clmat2, cldst);
|
||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
cldst.download(cpu_dst);
|
cldst.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1498,10 +1369,7 @@ TEST_P(AddWeighted, Mat)
|
|||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
|
|
||||||
char sss[1024];
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d,maskx=%d,masky=%d,src2x=%d,src2y=%d", roicols, roirows, src1x, src1y, dstx, dsty, maskx, masky, src2x, src2y);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
//
|
//
|
||||||
// Copyright (C) 2010-2012, Institute Of Software Chinese Academy Of Science, all rights reserved.
|
// Copyright (C) 2010-2012, Institute Of Software Chinese Academy Of Science, all rights reserved.
|
||||||
// Copyright (C) 2010-2012, Advanced Micro Devices, Inc., all rights reserved.
|
// Copyright (C) 2010-2012, Advanced Micro Devices, Inc., all rights reserved.
|
||||||
|
// Copyright (C) 2010-2012, Multicoreware, Inc., all rights reserved.
|
||||||
// Third party copyrights are property of their respective owners.
|
// Third party copyrights are property of their respective owners.
|
||||||
//
|
//
|
||||||
// @Authors
|
// @Authors
|
||||||
@ -19,6 +20,7 @@
|
|||||||
// Jia Haipeng, jiahaipeng95@gmail.com
|
// Jia Haipeng, jiahaipeng95@gmail.com
|
||||||
// Zero Lin, Zero.Lin@amd.com
|
// Zero Lin, Zero.Lin@amd.com
|
||||||
// Zhang Ying, zhangying913@gmail.com
|
// Zhang Ying, zhangying913@gmail.com
|
||||||
|
// Yao Wang, bitwangyaoyao@gmail.com
|
||||||
//
|
//
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
// Redistribution and use in source and binary forms, with or without modification,
|
||||||
// are permitted provided that the following conditions are met:
|
// are permitted provided that the following conditions are met:
|
||||||
@ -55,121 +57,13 @@ using namespace testing;
|
|||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
|
||||||
PARAM_TEST_CASE(FilterTestBase, MatType, bool)
|
PARAM_TEST_CASE(FilterTestBase,
|
||||||
|
MatType,
|
||||||
|
cv::Size, // kernel size
|
||||||
|
cv::Size, // dx,dy
|
||||||
|
int // border type, or iteration
|
||||||
|
)
|
||||||
{
|
{
|
||||||
int type;
|
|
||||||
cv::Scalar val;
|
|
||||||
|
|
||||||
//src mat
|
|
||||||
cv::Mat mat1;
|
|
||||||
cv::Mat mat2;
|
|
||||||
cv::Mat mask;
|
|
||||||
cv::Mat dst;
|
|
||||||
cv::Mat dst1; //bak, for two outputs
|
|
||||||
|
|
||||||
// set up roi
|
|
||||||
int roicols;
|
|
||||||
int roirows;
|
|
||||||
int src1x;
|
|
||||||
int src1y;
|
|
||||||
int src2x;
|
|
||||||
int src2y;
|
|
||||||
int dstx;
|
|
||||||
int dsty;
|
|
||||||
int maskx;
|
|
||||||
int masky;
|
|
||||||
|
|
||||||
//src mat with roi
|
|
||||||
cv::Mat mat1_roi;
|
|
||||||
cv::Mat mat2_roi;
|
|
||||||
cv::Mat mask_roi;
|
|
||||||
cv::Mat dst_roi;
|
|
||||||
cv::Mat dst1_roi; //bak
|
|
||||||
//std::vector<cv::ocl::Info> oclinfo;
|
|
||||||
//ocl dst mat for testing
|
|
||||||
cv::ocl::oclMat gdst_whole;
|
|
||||||
cv::ocl::oclMat gdst1_whole; //bak
|
|
||||||
|
|
||||||
//ocl mat with roi
|
|
||||||
cv::ocl::oclMat gmat1;
|
|
||||||
cv::ocl::oclMat gmat2;
|
|
||||||
cv::ocl::oclMat gdst;
|
|
||||||
cv::ocl::oclMat gdst1; //bak
|
|
||||||
cv::ocl::oclMat gmask;
|
|
||||||
|
|
||||||
virtual void SetUp()
|
|
||||||
{
|
|
||||||
type = GET_PARAM(0);
|
|
||||||
|
|
||||||
cv::RNG &rng = TS::ptr()->get_rng();
|
|
||||||
cv::Size size(MWIDTH, MHEIGHT);
|
|
||||||
|
|
||||||
mat1 = randomMat(rng, size, type, 5, 16, false);
|
|
||||||
mat2 = randomMat(rng, size, type, 5, 16, false);
|
|
||||||
dst = randomMat(rng, size, type, 5, 16, false);
|
|
||||||
dst1 = randomMat(rng, size, type, 5, 16, false);
|
|
||||||
mask = randomMat(rng, size, CV_8UC1, 0, 2, false);
|
|
||||||
|
|
||||||
cv::threshold(mask, mask, 0.5, 255., CV_8UC1);
|
|
||||||
|
|
||||||
val = cv::Scalar(rng.uniform(-10.0, 10.0), rng.uniform(-10.0, 10.0), rng.uniform(-10.0, 10.0), rng.uniform(-10.0, 10.0));
|
|
||||||
}
|
|
||||||
|
|
||||||
void random_roi()
|
|
||||||
{
|
|
||||||
#ifdef RANDOMROI
|
|
||||||
//randomize ROI
|
|
||||||
cv::RNG &rng = TS::ptr()->get_rng();
|
|
||||||
roicols = rng.uniform(1, mat1.cols);
|
|
||||||
roirows = rng.uniform(1, mat1.rows);
|
|
||||||
src1x = rng.uniform(0, mat1.cols - roicols);
|
|
||||||
src1y = rng.uniform(0, mat1.rows - roirows);
|
|
||||||
src2x = rng.uniform(0, mat2.cols - roicols);
|
|
||||||
src2y = rng.uniform(0, mat2.rows - roirows);
|
|
||||||
dstx = rng.uniform(0, dst.cols - roicols);
|
|
||||||
dsty = rng.uniform(0, dst.rows - roirows);
|
|
||||||
maskx = rng.uniform(0, mask.cols - roicols);
|
|
||||||
masky = rng.uniform(0, mask.rows - roirows);
|
|
||||||
#else
|
|
||||||
roicols = mat1.cols;
|
|
||||||
roirows = mat1.rows;
|
|
||||||
src1x = 0;
|
|
||||||
src1y = 0;
|
|
||||||
src2x = 0;
|
|
||||||
src2y = 0;
|
|
||||||
dstx = 0;
|
|
||||||
dsty = 0;
|
|
||||||
maskx = 0;
|
|
||||||
masky = 0;
|
|
||||||
#endif
|
|
||||||
mat1_roi = mat1(Rect(src1x, src1y, roicols, roirows));
|
|
||||||
mat2_roi = mat2(Rect(src2x, src2y, roicols, roirows));
|
|
||||||
mask_roi = mask(Rect(maskx, masky, roicols, roirows));
|
|
||||||
dst_roi = dst(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
dst1_roi = dst1(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
gdst_whole = dst;
|
|
||||||
gdst = gdst_whole(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
gdst1_whole = dst1;
|
|
||||||
gdst1 = gdst1_whole(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
gmat1 = mat1_roi;
|
|
||||||
gmat2 = mat2_roi;
|
|
||||||
gmask = mask_roi;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// blur
|
|
||||||
|
|
||||||
PARAM_TEST_CASE(Blur, MatType, cv::Size, int)
|
|
||||||
{
|
|
||||||
int type;
|
|
||||||
cv::Size ksize;
|
|
||||||
int bordertype;
|
|
||||||
|
|
||||||
//src mat
|
//src mat
|
||||||
cv::Mat mat1;
|
cv::Mat mat1;
|
||||||
cv::Mat dst;
|
cv::Mat dst;
|
||||||
@ -185,7 +79,7 @@ PARAM_TEST_CASE(Blur, MatType, cv::Size, int)
|
|||||||
//src mat with roi
|
//src mat with roi
|
||||||
cv::Mat mat1_roi;
|
cv::Mat mat1_roi;
|
||||||
cv::Mat dst_roi;
|
cv::Mat dst_roi;
|
||||||
//std::vector<cv::ocl::Info> oclinfo;
|
|
||||||
//ocl dst mat for testing
|
//ocl dst mat for testing
|
||||||
cv::ocl::oclMat gdst_whole;
|
cv::ocl::oclMat gdst_whole;
|
||||||
|
|
||||||
@ -193,23 +87,6 @@ PARAM_TEST_CASE(Blur, MatType, cv::Size, int)
|
|||||||
cv::ocl::oclMat gmat1;
|
cv::ocl::oclMat gmat1;
|
||||||
cv::ocl::oclMat gdst;
|
cv::ocl::oclMat gdst;
|
||||||
|
|
||||||
virtual void SetUp()
|
|
||||||
{
|
|
||||||
type = GET_PARAM(0);
|
|
||||||
ksize = GET_PARAM(1);
|
|
||||||
bordertype = GET_PARAM(2);
|
|
||||||
|
|
||||||
cv::RNG &rng = TS::ptr()->get_rng();
|
|
||||||
cv::Size size(MWIDTH, MHEIGHT);
|
|
||||||
|
|
||||||
mat1 = randomMat(rng, size, type, 5, 16, false);
|
|
||||||
dst = randomMat(rng, size, type, 5, 16, false);
|
|
||||||
//int devnums = getDevice(oclinfo, OPENCV_DEFAULT_OPENCL_DEVICE);
|
|
||||||
//CV_Assert(devnums > 0);
|
|
||||||
////if you want to use undefault device, set it here
|
|
||||||
////setDevice(oclinfo[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
void random_roi()
|
void random_roi()
|
||||||
{
|
{
|
||||||
#ifdef RANDOMROI
|
#ifdef RANDOMROI
|
||||||
@ -236,12 +113,33 @@ PARAM_TEST_CASE(Blur, MatType, cv::Size, int)
|
|||||||
gdst_whole = dst;
|
gdst_whole = dst;
|
||||||
gdst = gdst_whole(Rect(dstx, dsty, roicols, roirows));
|
gdst = gdst_whole(Rect(dstx, dsty, roicols, roirows));
|
||||||
|
|
||||||
|
|
||||||
gmat1 = mat1_roi;
|
gmat1 = mat1_roi;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// blur
|
||||||
|
struct Blur : FilterTestBase
|
||||||
|
{
|
||||||
|
int type;
|
||||||
|
cv::Size ksize;
|
||||||
|
int bordertype;
|
||||||
|
|
||||||
|
virtual void SetUp()
|
||||||
|
{
|
||||||
|
type = GET_PARAM(0);
|
||||||
|
ksize = GET_PARAM(1);
|
||||||
|
bordertype = GET_PARAM(3);
|
||||||
|
|
||||||
|
cv::RNG &rng = TS::ptr()->get_rng();
|
||||||
|
cv::Size size(MWIDTH, MHEIGHT);
|
||||||
|
|
||||||
|
mat1 = randomMat(rng, size, type, 5, 16, false);
|
||||||
|
dst = randomMat(rng, size, type, 5, 16, false);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
TEST_P(Blur, Mat)
|
TEST_P(Blur, Mat)
|
||||||
{
|
{
|
||||||
for(int j = 0; j < LOOP_TIMES; j++)
|
for(int j = 0; j < LOOP_TIMES; j++)
|
||||||
@ -253,9 +151,8 @@ TEST_P(Blur, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d", roicols, roirows, src1x, src1y, dstx, dsty);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1.0, "");
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1.0, sss);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -264,34 +161,10 @@ TEST_P(Blur, Mat)
|
|||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//Laplacian
|
//Laplacian
|
||||||
|
struct Laplacian : FilterTestBase
|
||||||
PARAM_TEST_CASE(LaplacianTestBase, MatType, int)
|
|
||||||
{
|
{
|
||||||
int type;
|
int type;
|
||||||
int ksize;
|
cv::Size ksize;
|
||||||
|
|
||||||
//src mat
|
|
||||||
cv::Mat mat;
|
|
||||||
cv::Mat dst;
|
|
||||||
|
|
||||||
// set up roi
|
|
||||||
int roicols;
|
|
||||||
int roirows;
|
|
||||||
int srcx;
|
|
||||||
int srcy;
|
|
||||||
int dstx;
|
|
||||||
int dsty;
|
|
||||||
|
|
||||||
//src mat with roi
|
|
||||||
cv::Mat mat_roi;
|
|
||||||
cv::Mat dst_roi;
|
|
||||||
|
|
||||||
//ocl dst mat for testing
|
|
||||||
cv::ocl::oclMat gdst_whole;
|
|
||||||
|
|
||||||
//ocl mat with roi
|
|
||||||
cv::ocl::oclMat gmat;
|
|
||||||
cv::ocl::oclMat gdst;
|
|
||||||
|
|
||||||
virtual void SetUp()
|
virtual void SetUp()
|
||||||
{
|
{
|
||||||
@ -301,58 +174,26 @@ PARAM_TEST_CASE(LaplacianTestBase, MatType, int)
|
|||||||
cv::RNG &rng = TS::ptr()->get_rng();
|
cv::RNG &rng = TS::ptr()->get_rng();
|
||||||
cv::Size size(MWIDTH, MHEIGHT);
|
cv::Size size(MWIDTH, MHEIGHT);
|
||||||
|
|
||||||
mat = randomMat(rng, size, type, 5, 16, false);
|
mat1 = randomMat(rng, size, type, 5, 16, false);
|
||||||
dst = randomMat(rng, size, type, 5, 16, false);
|
dst = randomMat(rng, size, type, 5, 16, false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void random_roi()
|
|
||||||
{
|
|
||||||
#ifdef RANDOMROI
|
|
||||||
//randomize ROI
|
|
||||||
cv::RNG &rng = TS::ptr()->get_rng();
|
|
||||||
roicols = rng.uniform(2, mat.cols);
|
|
||||||
roirows = rng.uniform(2, mat.rows);
|
|
||||||
srcx = rng.uniform(0, mat.cols - roicols);
|
|
||||||
srcy = rng.uniform(0, mat.rows - roirows);
|
|
||||||
dstx = rng.uniform(0, dst.cols - roicols);
|
|
||||||
dsty = rng.uniform(0, dst.rows - roirows);
|
|
||||||
#else
|
|
||||||
roicols = mat.cols;
|
|
||||||
roirows = mat.rows;
|
|
||||||
srcx = 0;
|
|
||||||
srcy = 0;
|
|
||||||
dstx = 0;
|
|
||||||
dsty = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mat_roi = mat(Rect(srcx, srcy, roicols, roirows));
|
|
||||||
dst_roi = dst(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
gdst_whole = dst;
|
|
||||||
gdst = gdst_whole(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
gmat = mat_roi;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Laplacian : LaplacianTestBase {};
|
|
||||||
|
|
||||||
TEST_P(Laplacian, Accuracy)
|
TEST_P(Laplacian, Accuracy)
|
||||||
{
|
{
|
||||||
for(int j = 0; j < LOOP_TIMES; j++)
|
for(int j = 0; j < LOOP_TIMES; j++)
|
||||||
{
|
{
|
||||||
random_roi();
|
random_roi();
|
||||||
|
|
||||||
cv::Laplacian(mat_roi, dst_roi, -1, ksize, 1);
|
cv::Laplacian(mat1_roi, dst_roi, -1, ksize.width, 1);
|
||||||
cv::ocl::Laplacian(gmat, gdst, -1, ksize, 1);
|
cv::ocl::Laplacian(gmat1, gdst, -1, ksize.width, 1);
|
||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d", roicols, roirows, srcx, srcy, dstx, dsty);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -360,8 +201,7 @@ TEST_P(Laplacian, Accuracy)
|
|||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// erode & dilate
|
// erode & dilate
|
||||||
|
struct ErodeDilate : FilterTestBase
|
||||||
PARAM_TEST_CASE(ErodeDilateBase, MatType, int)
|
|
||||||
{
|
{
|
||||||
int type;
|
int type;
|
||||||
int iterations;
|
int iterations;
|
||||||
@ -369,33 +209,10 @@ PARAM_TEST_CASE(ErodeDilateBase, MatType, int)
|
|||||||
//erode or dilate kernel
|
//erode or dilate kernel
|
||||||
cv::Mat kernel;
|
cv::Mat kernel;
|
||||||
|
|
||||||
//src mat
|
|
||||||
cv::Mat mat1;
|
|
||||||
cv::Mat dst;
|
|
||||||
|
|
||||||
// set up roi
|
|
||||||
int roicols;
|
|
||||||
int roirows;
|
|
||||||
int src1x;
|
|
||||||
int src1y;
|
|
||||||
int dstx;
|
|
||||||
int dsty;
|
|
||||||
|
|
||||||
//src mat with roi
|
|
||||||
cv::Mat mat1_roi;
|
|
||||||
cv::Mat dst_roi;
|
|
||||||
|
|
||||||
//ocl dst mat for testing
|
|
||||||
cv::ocl::oclMat gdst_whole;
|
|
||||||
|
|
||||||
//ocl mat with roi
|
|
||||||
cv::ocl::oclMat gmat1;
|
|
||||||
cv::ocl::oclMat gdst;
|
|
||||||
|
|
||||||
virtual void SetUp()
|
virtual void SetUp()
|
||||||
{
|
{
|
||||||
type = GET_PARAM(0);
|
type = GET_PARAM(0);
|
||||||
iterations = GET_PARAM(1);
|
iterations = GET_PARAM(3);
|
||||||
|
|
||||||
cv::RNG &rng = TS::ptr()->get_rng();
|
cv::RNG &rng = TS::ptr()->get_rng();
|
||||||
cv::Size size(MWIDTH, MHEIGHT);
|
cv::Size size(MWIDTH, MHEIGHT);
|
||||||
@ -407,43 +224,11 @@ PARAM_TEST_CASE(ErodeDilateBase, MatType, int)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void random_roi()
|
|
||||||
{
|
|
||||||
#ifdef RANDOMROI
|
|
||||||
//randomize ROI
|
|
||||||
cv::RNG &rng = TS::ptr()->get_rng();
|
|
||||||
roicols = rng.uniform(2, mat1.cols);
|
|
||||||
roirows = rng.uniform(2, mat1.rows);
|
|
||||||
src1x = rng.uniform(0, mat1.cols - roicols);
|
|
||||||
src1y = rng.uniform(0, mat1.rows - roirows);
|
|
||||||
dstx = rng.uniform(0, dst.cols - roicols);
|
|
||||||
dsty = rng.uniform(0, dst.rows - roirows);
|
|
||||||
#else
|
|
||||||
roicols = mat1.cols;
|
|
||||||
roirows = mat1.rows;
|
|
||||||
src1x = 0;
|
|
||||||
src1y = 0;
|
|
||||||
dstx = 0;
|
|
||||||
dsty = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mat1_roi = mat1(Rect(src1x, src1y, roicols, roirows));
|
|
||||||
dst_roi = dst(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
gdst_whole = dst;
|
|
||||||
gdst = gdst_whole(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
|
|
||||||
gmat1 = mat1_roi;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// erode
|
// erode
|
||||||
|
|
||||||
struct Erode : ErodeDilateBase {};
|
TEST_P(ErodeDilate, Mat)
|
||||||
|
|
||||||
TEST_P(Erode, Mat)
|
|
||||||
{
|
{
|
||||||
for(int j = 0; j < LOOP_TIMES; j++)
|
for(int j = 0; j < LOOP_TIMES; j++)
|
||||||
{
|
{
|
||||||
@ -454,81 +239,39 @@ TEST_P(Erode, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d", roicols, roirows, src1x, src1y, dstx, dsty);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// dilate
|
|
||||||
|
|
||||||
struct Dilate : ErodeDilateBase {};
|
|
||||||
|
|
||||||
TEST_P(Dilate, Mat)
|
|
||||||
{
|
|
||||||
for(int j = 0; j < LOOP_TIMES; j++)
|
for(int j = 0; j < LOOP_TIMES; j++)
|
||||||
{
|
{
|
||||||
random_roi();
|
random_roi();
|
||||||
cv::erode(mat1_roi, dst_roi, kernel, Point(-1, -1), iterations);
|
cv::dilate(mat1_roi, dst_roi, kernel, Point(-1, -1), iterations);
|
||||||
cv::ocl::erode(gmat1, gdst, kernel, Point(-1, -1), iterations);
|
cv::ocl::dilate(gmat1, gdst, kernel, Point(-1, -1), iterations);
|
||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d", roicols, roirows, src1x, src1y, dstx, dsty);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1e-5, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// Sobel
|
// Sobel
|
||||||
|
struct Sobel : FilterTestBase
|
||||||
PARAM_TEST_CASE(Sobel, MatType, int, int, int, int)
|
|
||||||
{
|
{
|
||||||
int type;
|
int type;
|
||||||
int dx, dy, ksize, bordertype;
|
int dx, dy, ksize, bordertype;
|
||||||
|
|
||||||
//src mat
|
|
||||||
cv::Mat mat1;
|
|
||||||
cv::Mat dst;
|
|
||||||
|
|
||||||
// set up roi
|
|
||||||
int roicols;
|
|
||||||
int roirows;
|
|
||||||
int src1x;
|
|
||||||
int src1y;
|
|
||||||
int dstx;
|
|
||||||
int dsty;
|
|
||||||
|
|
||||||
//src mat with roi
|
|
||||||
cv::Mat mat1_roi;
|
|
||||||
cv::Mat dst_roi;
|
|
||||||
|
|
||||||
//ocl dst mat for testing
|
|
||||||
cv::ocl::oclMat gdst_whole;
|
|
||||||
|
|
||||||
//ocl mat with roi
|
|
||||||
cv::ocl::oclMat gmat1;
|
|
||||||
cv::ocl::oclMat gdst;
|
|
||||||
|
|
||||||
virtual void SetUp()
|
virtual void SetUp()
|
||||||
{
|
{
|
||||||
type = GET_PARAM(0);
|
type = GET_PARAM(0);
|
||||||
dx = GET_PARAM(1);
|
Size s = GET_PARAM(1);
|
||||||
dy = GET_PARAM(2);
|
ksize = s.width;
|
||||||
ksize = GET_PARAM(3);
|
s = GET_PARAM(2);
|
||||||
bordertype = GET_PARAM(4);
|
dx = s.width;
|
||||||
|
dy = s.height;
|
||||||
|
bordertype = GET_PARAM(3);
|
||||||
|
|
||||||
|
|
||||||
cv::RNG &rng = TS::ptr()->get_rng();
|
cv::RNG &rng = TS::ptr()->get_rng();
|
||||||
@ -538,36 +281,6 @@ PARAM_TEST_CASE(Sobel, MatType, int, int, int, int)
|
|||||||
dst = randomMat(rng, size, type, 5, 16, false);
|
dst = randomMat(rng, size, type, 5, 16, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void random_roi()
|
|
||||||
{
|
|
||||||
#ifdef RANDOMROI
|
|
||||||
//randomize ROI
|
|
||||||
cv::RNG &rng = TS::ptr()->get_rng();
|
|
||||||
roicols = rng.uniform(2, mat1.cols);
|
|
||||||
roirows = rng.uniform(2, mat1.rows);
|
|
||||||
src1x = rng.uniform(0, mat1.cols - roicols);
|
|
||||||
src1y = rng.uniform(0, mat1.rows - roirows);
|
|
||||||
dstx = rng.uniform(0, dst.cols - roicols);
|
|
||||||
dsty = rng.uniform(0, dst.rows - roirows);
|
|
||||||
#else
|
|
||||||
roicols = mat1.cols;
|
|
||||||
roirows = mat1.rows;
|
|
||||||
src1x = 0;
|
|
||||||
src1y = 0;
|
|
||||||
dstx = 0;
|
|
||||||
dsty = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mat1_roi = mat1(Rect(src1x, src1y, roicols, roirows));
|
|
||||||
dst_roi = dst(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
gdst_whole = dst;
|
|
||||||
gdst = gdst_whole(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
|
|
||||||
gmat1 = mat1_roi;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_P(Sobel, Mat)
|
TEST_P(Sobel, Mat)
|
||||||
@ -581,10 +294,8 @@ TEST_P(Sobel, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d", roicols, roirows, src1x, src1y, dstx, dsty);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -592,39 +303,17 @@ TEST_P(Sobel, Mat)
|
|||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// Scharr
|
// Scharr
|
||||||
|
struct Scharr : FilterTestBase
|
||||||
PARAM_TEST_CASE(Scharr, MatType, int, int, int)
|
|
||||||
{
|
{
|
||||||
int type;
|
int type;
|
||||||
int dx, dy, bordertype;
|
int dx, dy, bordertype;
|
||||||
|
|
||||||
//src mat
|
|
||||||
cv::Mat mat1;
|
|
||||||
cv::Mat dst;
|
|
||||||
|
|
||||||
// set up roi
|
|
||||||
int roicols;
|
|
||||||
int roirows;
|
|
||||||
int src1x;
|
|
||||||
int src1y;
|
|
||||||
int dstx;
|
|
||||||
int dsty;
|
|
||||||
|
|
||||||
//src mat with roi
|
|
||||||
cv::Mat mat1_roi;
|
|
||||||
cv::Mat dst_roi;
|
|
||||||
//ocl dst mat for testing
|
|
||||||
cv::ocl::oclMat gdst_whole;
|
|
||||||
|
|
||||||
//ocl mat with roi
|
|
||||||
cv::ocl::oclMat gmat1;
|
|
||||||
cv::ocl::oclMat gdst;
|
|
||||||
|
|
||||||
virtual void SetUp()
|
virtual void SetUp()
|
||||||
{
|
{
|
||||||
type = GET_PARAM(0);
|
type = GET_PARAM(0);
|
||||||
dx = GET_PARAM(1);
|
Size s = GET_PARAM(2);
|
||||||
dy = GET_PARAM(2);
|
dx = s.width;
|
||||||
|
dy = s.height;
|
||||||
bordertype = GET_PARAM(3);
|
bordertype = GET_PARAM(3);
|
||||||
dx = 1;
|
dx = 1;
|
||||||
dy = 0;
|
dy = 0;
|
||||||
@ -637,36 +326,6 @@ PARAM_TEST_CASE(Scharr, MatType, int, int, int)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void random_roi()
|
|
||||||
{
|
|
||||||
#ifdef RANDOMROI
|
|
||||||
//randomize ROI
|
|
||||||
cv::RNG &rng = TS::ptr()->get_rng();
|
|
||||||
roicols = rng.uniform(2, mat1.cols);
|
|
||||||
roirows = rng.uniform(2, mat1.rows);
|
|
||||||
src1x = rng.uniform(0, mat1.cols - roicols);
|
|
||||||
src1y = rng.uniform(0, mat1.rows - roirows);
|
|
||||||
dstx = rng.uniform(0, dst.cols - roicols);
|
|
||||||
dsty = rng.uniform(0, dst.rows - roirows);
|
|
||||||
#else
|
|
||||||
roicols = mat1.cols;
|
|
||||||
roirows = mat1.rows;
|
|
||||||
src1x = 0;
|
|
||||||
src1y = 0;
|
|
||||||
dstx = 0;
|
|
||||||
dsty = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mat1_roi = mat1(Rect(src1x, src1y, roicols, roirows));
|
|
||||||
dst_roi = dst(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
gdst_whole = dst;
|
|
||||||
gdst = gdst_whole(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
|
|
||||||
gmat1 = mat1_roi;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_P(Scharr, Mat)
|
TEST_P(Scharr, Mat)
|
||||||
@ -680,10 +339,8 @@ TEST_P(Scharr, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d", roicols, roirows, src1x, src1y, dstx, dsty);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -691,42 +348,18 @@ TEST_P(Scharr, Mat)
|
|||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// GaussianBlur
|
// GaussianBlur
|
||||||
|
struct GaussianBlur : FilterTestBase
|
||||||
PARAM_TEST_CASE(GaussianBlur, MatType, cv::Size, int)
|
|
||||||
{
|
{
|
||||||
int type;
|
int type;
|
||||||
cv::Size ksize;
|
cv::Size ksize;
|
||||||
int bordertype;
|
int bordertype;
|
||||||
|
|
||||||
double sigma1, sigma2;
|
double sigma1, sigma2;
|
||||||
|
|
||||||
//src mat
|
|
||||||
cv::Mat mat1;
|
|
||||||
cv::Mat dst;
|
|
||||||
|
|
||||||
// set up roi
|
|
||||||
int roicols;
|
|
||||||
int roirows;
|
|
||||||
int src1x;
|
|
||||||
int src1y;
|
|
||||||
int dstx;
|
|
||||||
int dsty;
|
|
||||||
|
|
||||||
//src mat with roi
|
|
||||||
cv::Mat mat1_roi;
|
|
||||||
cv::Mat dst_roi;
|
|
||||||
//ocl dst mat for testing
|
|
||||||
cv::ocl::oclMat gdst_whole;
|
|
||||||
|
|
||||||
//ocl mat with roi
|
|
||||||
cv::ocl::oclMat gmat1;
|
|
||||||
cv::ocl::oclMat gdst;
|
|
||||||
|
|
||||||
virtual void SetUp()
|
virtual void SetUp()
|
||||||
{
|
{
|
||||||
type = GET_PARAM(0);
|
type = GET_PARAM(0);
|
||||||
ksize = GET_PARAM(1);
|
ksize = GET_PARAM(1);
|
||||||
bordertype = GET_PARAM(2);
|
bordertype = GET_PARAM(3);
|
||||||
|
|
||||||
cv::RNG &rng = TS::ptr()->get_rng();
|
cv::RNG &rng = TS::ptr()->get_rng();
|
||||||
cv::Size size(MWIDTH, MHEIGHT);
|
cv::Size size(MWIDTH, MHEIGHT);
|
||||||
@ -739,36 +372,6 @@ PARAM_TEST_CASE(GaussianBlur, MatType, cv::Size, int)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void random_roi()
|
|
||||||
{
|
|
||||||
#ifdef RANDOMROI
|
|
||||||
//randomize ROI
|
|
||||||
cv::RNG &rng = TS::ptr()->get_rng();
|
|
||||||
roicols = rng.uniform(2, mat1.cols);
|
|
||||||
roirows = rng.uniform(2, mat1.rows);
|
|
||||||
src1x = rng.uniform(0, mat1.cols - roicols);
|
|
||||||
src1y = rng.uniform(0, mat1.rows - roirows);
|
|
||||||
dstx = rng.uniform(0, dst.cols - roicols);
|
|
||||||
dsty = rng.uniform(0, dst.rows - roirows);
|
|
||||||
#else
|
|
||||||
roicols = mat1.cols;
|
|
||||||
roirows = mat1.rows;
|
|
||||||
src1x = 0;
|
|
||||||
src1y = 0;
|
|
||||||
dstx = 0;
|
|
||||||
dsty = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mat1_roi = mat1(Rect(src1x, src1y, roicols, roirows));
|
|
||||||
dst_roi = dst(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
gdst_whole = dst;
|
|
||||||
gdst = gdst_whole(Rect(dstx, dsty, roicols, roirows));
|
|
||||||
|
|
||||||
|
|
||||||
gmat1 = mat1_roi;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_P(GaussianBlur, Mat)
|
TEST_P(GaussianBlur, Mat)
|
||||||
@ -782,47 +385,52 @@ TEST_P(GaussianBlur, Mat)
|
|||||||
|
|
||||||
cv::Mat cpu_dst;
|
cv::Mat cpu_dst;
|
||||||
gdst_whole.download(cpu_dst);
|
gdst_whole.download(cpu_dst);
|
||||||
char sss[1024];
|
|
||||||
sprintf(sss, "roicols=%d,roirows=%d,src1x=%d,src1y=%d,dstx=%d,dsty=%d", roicols, roirows, src1x, src1y, dstx, dsty);
|
|
||||||
|
|
||||||
EXPECT_MAT_NEAR(dst, cpu_dst, 1.0, sss);
|
EXPECT_MAT_NEAR(dst, cpu_dst, 1.0, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
INSTANTIATE_TEST_CASE_P(Filter, Blur, Combine(Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1, CV_32FC4),
|
INSTANTIATE_TEST_CASE_P(Filter, Blur, Combine(
|
||||||
|
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1, CV_32FC4),
|
||||||
Values(cv::Size(3, 3), cv::Size(5, 5), cv::Size(7, 7)),
|
Values(cv::Size(3, 3), cv::Size(5, 5), cv::Size(7, 7)),
|
||||||
|
Values(Size(0, 0)), //not use
|
||||||
Values((MatType)cv::BORDER_CONSTANT, (MatType)cv::BORDER_REPLICATE, (MatType)cv::BORDER_REFLECT, (MatType)cv::BORDER_REFLECT_101)));
|
Values((MatType)cv::BORDER_CONSTANT, (MatType)cv::BORDER_REPLICATE, (MatType)cv::BORDER_REFLECT, (MatType)cv::BORDER_REFLECT_101)));
|
||||||
|
|
||||||
|
|
||||||
INSTANTIATE_TEST_CASE_P(Filters, Laplacian, Combine(
|
INSTANTIATE_TEST_CASE_P(Filters, Laplacian, Combine(
|
||||||
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1, CV_32FC3, CV_32FC4),
|
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1, CV_32FC3, CV_32FC4),
|
||||||
Values(1, 3)));
|
Values(Size(3, 3)),
|
||||||
|
Values(Size(0, 0)), //not use
|
||||||
|
Values(0))); //not use
|
||||||
|
|
||||||
INSTANTIATE_TEST_CASE_P(Filter, Erode, Combine(Values(CV_8UC1, CV_8UC4, CV_32FC1, CV_32FC4), Values(1)));
|
INSTANTIATE_TEST_CASE_P(Filter, ErodeDilate, Combine(
|
||||||
|
Values(CV_8UC1, CV_8UC4, CV_32FC1, CV_32FC4),
|
||||||
//INSTANTIATE_TEST_CASE_P(Filter, Erode, Combine(Values(CV_8UC1, CV_8UC1), Values(false)));
|
Values(Size(0, 0)), //not use
|
||||||
|
Values(Size(0, 0)), //not use
|
||||||
INSTANTIATE_TEST_CASE_P(Filter, Dilate, Combine(Values(CV_8UC1, CV_8UC4, CV_32FC1, CV_32FC4), Values(1)));
|
Values(1)));
|
||||||
|
|
||||||
//INSTANTIATE_TEST_CASE_P(Filter, Dilate, Combine(Values(CV_8UC1, CV_8UC1), Values(false)));
|
|
||||||
|
|
||||||
|
|
||||||
INSTANTIATE_TEST_CASE_P(Filter, Sobel, Combine(Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1, CV_32FC3, CV_32FC4),
|
INSTANTIATE_TEST_CASE_P(Filter, Sobel, Combine(
|
||||||
Values(1, 2), Values(0, 1), Values(3, 5), Values((MatType)cv::BORDER_CONSTANT,
|
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1, CV_32FC3, CV_32FC4),
|
||||||
(MatType)cv::BORDER_REPLICATE)));
|
Values(Size(3, 3), Size(5, 5)),
|
||||||
|
Values(Size(1, 0), Size(1, 1), Size(2, 0), Size(2, 1)),
|
||||||
|
Values((MatType)cv::BORDER_CONSTANT, (MatType)cv::BORDER_REPLICATE)));
|
||||||
|
|
||||||
|
|
||||||
INSTANTIATE_TEST_CASE_P(Filter, Scharr, Combine(
|
INSTANTIATE_TEST_CASE_P(Filter, Scharr, Combine(
|
||||||
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1, CV_32FC4), Values(0, 1), Values(0, 1),
|
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1, CV_32FC4),
|
||||||
Values((MatType)cv::BORDER_CONSTANT, (MatType)cv::BORDER_REPLICATE)));
|
Values(Size(0, 0)), //not use
|
||||||
|
Values(Size(0, 0), Size(0, 1), Size(1, 0), Size(1, 1)),
|
||||||
|
Values((MatType)cv::BORDER_CONSTANT, (MatType)cv::BORDER_REPLICATE)));
|
||||||
|
|
||||||
INSTANTIATE_TEST_CASE_P(Filter, GaussianBlur, Combine(
|
INSTANTIATE_TEST_CASE_P(Filter, GaussianBlur, Combine(
|
||||||
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1, CV_32FC4),
|
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1, CV_32FC4),
|
||||||
Values(cv::Size(3, 3), cv::Size(5, 5)),
|
Values(Size(3, 3), Size(5, 5)),
|
||||||
Values((MatType)cv::BORDER_CONSTANT, (MatType)cv::BORDER_REPLICATE)));
|
Values(Size(0, 0)), //not use
|
||||||
|
Values((MatType)cv::BORDER_CONSTANT, (MatType)cv::BORDER_REPLICATE)));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user