Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
b73490f8
Commit
b73490f8
authored
Mar 18, 2014
by
Ilya Lavrenov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
eliminated restriction src[i].channels() == 1 in cv::merge
parent
6e44f05e
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
358 additions
and
315 deletions
+358
-315
convert.cpp
modules/core/src/convert.cpp
+24
-12
split_merge.cl
modules/core/src/opencl/split_merge.cl
+1
-1
test_arithm.cpp
modules/core/test/ocl/test_arithm.cpp
+52
-44
test_channels.cpp
modules/core/test/ocl/test_channels.cpp
+69
-59
test_dft.cpp
modules/core/test/ocl/test_dft.cpp
+8
-8
test_gemm.cpp
modules/core/test/ocl/test_gemm.cpp
+8
-8
test_matrix_operation.cpp
modules/core/test/ocl/test_matrix_operation.cpp
+11
-11
test_accumulate.cpp
modules/imgproc/test/ocl/test_accumulate.cpp
+8
-8
test_blend.cpp
modules/imgproc/test/ocl/test_blend.cpp
+12
-12
test_boxfilter.cpp
modules/imgproc/test/ocl/test_boxfilter.cpp
+6
-7
test_canny.cpp
modules/imgproc/test/ocl/test_canny.cpp
+4
-4
test_color.cpp
modules/imgproc/test/ocl/test_color.cpp
+7
-7
test_filter2d.cpp
modules/imgproc/test/ocl/test_filter2d.cpp
+4
-4
test_filters.cpp
modules/imgproc/test/ocl/test_filters.cpp
+6
-12
test_gftt.cpp
modules/imgproc/test/ocl/test_gftt.cpp
+2
-2
test_histogram.cpp
modules/imgproc/test/ocl/test_histogram.cpp
+10
-10
test_imgproc.cpp
modules/imgproc/test/ocl/test_imgproc.cpp
+24
-24
test_match_template.cpp
modules/imgproc/test/ocl/test_match_template.cpp
+6
-6
test_medianfilter.cpp
modules/imgproc/test/ocl/test_medianfilter.cpp
+4
-4
test_pyramids.cpp
modules/imgproc/test/ocl/test_pyramids.cpp
+4
-4
test_sepfilter2D.cpp
modules/imgproc/test/ocl/test_sepfilter2D.cpp
+4
-4
test_warp.cpp
modules/imgproc/test/ocl/test_warp.cpp
+17
-17
test_denoising.cpp
modules/photo/test/ocl/test_denoising.cpp
+6
-6
ocl_test.hpp
modules/ts/include/opencv2/ts/ocl_test.hpp
+48
-26
ocl_test.cpp
modules/ts/src/ocl_test.cpp
+4
-4
test_bgfg_mog2.cpp
modules/video/test/ocl/test_bgfg_mog2.cpp
+2
-3
test_motempl.cpp
modules/video/test/ocl/test_motempl.cpp
+5
-5
test_optflow_farneback.cpp
modules/video/test/ocl/test_optflow_farneback.cpp
+2
-3
No files found.
modules/core/src/convert.cpp
View file @
b73490f8
...
...
@@ -415,42 +415,54 @@ namespace cv {
static
bool
ocl_merge
(
InputArrayOfArrays
_mv
,
OutputArray
_dst
)
{
std
::
vector
<
UMat
>
src
;
std
::
vector
<
UMat
>
src
,
ksrc
;
_mv
.
getUMatVector
(
src
);
CV_Assert
(
!
src
.
empty
());
int
type
=
src
[
0
].
type
(),
depth
=
CV_MAT_DEPTH
(
type
);
Size
size
=
src
[
0
].
size
();
size_t
srcsize
=
src
.
size
();
for
(
size_t
i
=
0
;
i
<
srcsize
;
++
i
)
for
(
size_t
i
=
0
,
srcsize
=
src
.
size
();
i
<
srcsize
;
++
i
)
{
int
itype
=
src
[
i
].
type
(),
icn
=
CV_MAT_CN
(
itype
),
idepth
=
CV_MAT_DEPTH
(
itype
);
if
(
src
[
i
].
dims
>
2
||
icn
!=
1
)
int
itype
=
src
[
i
].
type
(),
icn
=
CV_MAT_CN
(
itype
),
idepth
=
CV_MAT_DEPTH
(
itype
),
esz1
=
CV_ELEM_SIZE1
(
idepth
);
if
(
src
[
i
].
dims
>
2
)
return
false
;
CV_Assert
(
size
==
src
[
i
].
size
()
&&
depth
==
idepth
);
for
(
int
cn
=
0
;
cn
<
icn
;
++
cn
)
{
UMat
tsrc
=
src
[
i
];
tsrc
.
offset
+=
cn
*
esz1
;
ksrc
.
push_back
(
tsrc
);
}
}
int
dcn
=
(
int
)
ksrc
.
size
();
String
srcargs
,
srcdecl
,
processelem
;
for
(
size_t
i
=
0
;
i
<
srcsize
;
++
i
)
String
srcargs
,
srcdecl
,
processelem
,
cndecl
;
for
(
int
i
=
0
;
i
<
dcn
;
++
i
)
{
srcargs
+=
format
(
"DECLARE_SRC_PARAM(%d)"
,
i
);
srcdecl
+=
format
(
"DECLARE_DATA(%d)"
,
i
);
processelem
+=
format
(
"PROCESS_ELEM(%d)"
,
i
);
cndecl
+=
format
(
" -D scn%d=%d"
,
i
,
ksrc
[
i
].
channels
());
}
ocl
::
Kernel
k
(
"merge"
,
ocl
::
core
::
split_merge_oclsrc
,
format
(
"-D OP_MERGE -D cn=%d -D T=%s -D DECLARE_SRC_PARAMS_N=%s -D DECLARE_DATA_N=%s -D PROCESS_ELEMS_N=%s"
,
(
int
)
srcsize
,
ocl
::
memopTypeToStr
(
depth
),
srcargs
.
c_str
(),
srcdecl
.
c_str
(),
processelem
.
c_str
()));
format
(
"-D OP_MERGE -D cn=%d -D T=%s -D DECLARE_SRC_PARAMS_N=%s"
" -D DECLARE_DATA_N=%s -D PROCESS_ELEMS_N=%s%s"
,
dcn
,
ocl
::
memopTypeToStr
(
depth
),
srcargs
.
c_str
(),
srcdecl
.
c_str
(),
processelem
.
c_str
(),
cndecl
.
c_str
()));
if
(
k
.
empty
())
return
false
;
_dst
.
create
(
size
,
CV_MAKE_TYPE
(
depth
,
(
int
)
srcsize
));
_dst
.
create
(
size
,
CV_MAKE_TYPE
(
depth
,
dcn
));
UMat
dst
=
_dst
.
getUMat
();
int
argidx
=
0
;
for
(
size_t
i
=
0
;
i
<
srcsize
;
++
i
)
argidx
=
k
.
set
(
argidx
,
ocl
::
KernelArg
::
ReadOnlyNoSize
(
src
[
i
]));
for
(
int
i
=
0
;
i
<
dcn
;
++
i
)
argidx
=
k
.
set
(
argidx
,
ocl
::
KernelArg
::
ReadOnlyNoSize
(
k
src
[
i
]));
k
.
set
(
argidx
,
ocl
::
KernelArg
::
WriteOnly
(
dst
));
size_t
globalsize
[
2
]
=
{
dst
.
cols
,
dst
.
rows
};
...
...
modules/core/src/opencl/split_merge.cl
View file @
b73490f8
...
...
@@ -45,7 +45,7 @@
#
define
DECLARE_SRC_PARAM
(
index
)
__global
const
uchar
*
src##index##ptr,
int
src##index##_step,
int
src##index##_offset,
#
define
DECLARE_DATA
(
index
)
__global
const
T
*
src##index
=
\
(
__global
T
*
)(
src##index##ptr
+
mad24
(
src##index##_step,
y,
mad24
(
x,
(
int
)
sizeof
(
T
)
,
src##index##_offset
)))
;
(
__global
T
*
)(
src##index##ptr
+
mad24
(
src##index##_step,
y,
mad24
(
x,
(
int
)
sizeof
(
T
)
*
scn##index
,
src##index##_offset
)))
;
#
define
PROCESS_ELEM
(
index
)
dst[index]
=
src##index[0]
;
__kernel
void
merge
(
DECLARE_SRC_PARAMS_N
...
...
modules/core/test/ocl/test_arithm.cpp
View file @
b73490f8
...
...
@@ -57,9 +57,9 @@ PARAM_TEST_CASE(Lut, MatDepth, MatDepth, Channels, bool, bool)
int
cn
;
bool
use_roi
,
same_cn
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_INPUT_PARAMETER
(
lut
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_INPUT_PARAMETER
(
lut
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -87,14 +87,14 @@ PARAM_TEST_CASE(Lut, MatDepth, MatDepth, Channels, bool, bool)
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
dst_type
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_INPUT_PARAMETER
(
lut
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
lut
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
(
double
threshold
=
0.
)
{
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
;
}
};
...
...
@@ -121,11 +121,11 @@ PARAM_TEST_CASE(ArithmTestBase, MatDepth, Channels, bool)
cv
::
Scalar
val
;
cv
::
Scalar
val_in_range
;
TEST_DECLARE_INPUT_PARAMETER
(
src1
)
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
TEST_DECLARE_INPUT_PARAMETER
(
mask
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst1
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst2
)
TEST_DECLARE_INPUT_PARAMETER
(
src1
)
;
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
;
TEST_DECLARE_INPUT_PARAMETER
(
mask
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst1
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst2
)
;
virtual
void
SetUp
()
{
...
...
@@ -167,21 +167,21 @@ PARAM_TEST_CASE(ArithmTestBase, MatDepth, Channels, bool)
rng
.
uniform
(
minV
,
maxV
),
rng
.
uniform
(
minV
,
maxV
));
}
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
UMAT_UPLOAD_INPUT_PARAMETER
(
mask
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst1
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst2
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
mask
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst1
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst2
)
;
}
void
Near
(
double
threshold
=
0.
)
{
OCL_EXPECT_MATS_NEAR
(
dst1
,
threshold
)
OCL_EXPECT_MATS_NEAR
(
dst1
,
threshold
)
;
}
void
Near1
(
double
threshold
=
0.
)
{
OCL_EXPECT_MATS_NEAR
(
dst2
,
threshold
)
OCL_EXPECT_MATS_NEAR
(
dst2
,
threshold
)
;
}
};
...
...
@@ -556,6 +556,12 @@ OCL_TEST_P(Transpose, Mat)
{
generateTestData
();
Size
roiSize
=
src1_roi
.
size
();
Border
dst1Border
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst1
,
dst1_roi
,
Size
(
roiSize
.
height
,
roiSize
.
width
),
dst1Border
,
src1
.
type
(),
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
dst1
);
OCL_OFF
(
cv
::
transpose
(
src1_roi
,
dst1_roi
));
OCL_ON
(
cv
::
transpose
(
usrc1_roi
,
udst1_roi
));
...
...
@@ -580,7 +586,7 @@ OCL_TEST_P(Transpose, SquareInplace)
OCL_OFF
(
cv
::
transpose
(
src1_roi
,
src1_roi
));
OCL_ON
(
cv
::
transpose
(
usrc1_roi
,
usrc1_roi
));
OCL_EXPECT_MATS_NEAR
(
src1
,
0
)
OCL_EXPECT_MATS_NEAR
(
src1
,
0
)
;
}
}
...
...
@@ -761,7 +767,7 @@ OCL_TEST_P(Bitwise_not, Mat)
typedef
ArithmTestBase
Compare
;
static
const
int
cmp_codes
[]
=
{
CMP_EQ
,
CMP_GT
,
CMP_GE
,
CMP_LT
,
CMP_LE
,
CMP_NE
};
static
const
char
*
cmp_strs
[]
=
{
"CMP_EQ"
,
"CMP_GT"
,
"CMP_GE"
,
"CMP_LT"
,
"CMP_LE"
,
"CMP_NE"
};
static
const
char
*
cmp_strs
[]
=
{
"CMP_EQ"
,
"CMP_GT"
,
"CMP_GE"
,
"CMP_LT"
,
"CMP_LE"
,
"CMP_NE"
};
static
const
int
cmp_num
=
sizeof
(
cmp_codes
)
/
sizeof
(
int
);
OCL_TEST_P
(
Compare
,
Mat
)
...
...
@@ -826,12 +832,14 @@ OCL_TEST_P(Pow, Mat)
for
(
int
j
=
0
;
j
<
test_loop_times
;
j
++
)
for
(
int
k
=
0
,
size
=
sizeof
(
pows
)
/
sizeof
(
double
);
k
<
size
;
++
k
)
{
SCOPED_TRACE
(
pows
[
k
]);
generateTestData
();
OCL_OFF
(
cv
::
pow
(
src1_roi
,
pows
[
k
],
dst1_roi
));
OCL_ON
(
cv
::
pow
(
usrc1_roi
,
pows
[
k
],
udst1_roi
));
Near
(
1
);
// FIXIT: Relative error check!
OCL_EXPECT_MATS_NEAR_RELATIVE
(
dst1
,
1e-6
);
}
}
...
...
@@ -893,8 +901,8 @@ struct RepeatTestCase :
Border
dst1Border
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst1
,
dst1_roi
,
dstRoiSize
,
dst1Border
,
type
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst1
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst1
)
;
}
};
...
...
@@ -1450,10 +1458,10 @@ PARAM_TEST_CASE(InRange, MatDepth, Channels, bool /*Scalar or not*/, bool /*Roi*
bool
scalars
,
use_roi
;
cv
::
Scalar
val1
,
val2
;
TEST_DECLARE_INPUT_PARAMETER
(
src1
)
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
TEST_DECLARE_INPUT_PARAMETER
(
src3
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src1
)
;
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
;
TEST_DECLARE_INPUT_PARAMETER
(
src3
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -1485,15 +1493,15 @@ PARAM_TEST_CASE(InRange, MatDepth, Channels, bool /*Scalar or not*/, bool /*Roi*
val2
=
cv
::
Scalar
(
rng
.
uniform
(
-
100.0
,
100.0
),
rng
.
uniform
(
-
100.0
,
100.0
),
rng
.
uniform
(
-
100.0
,
100.0
),
rng
.
uniform
(
-
100.0
,
100.0
));
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src3
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
src3
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
()
{
OCL_EXPECT_MATS_NEAR
(
dst
,
0
)
OCL_EXPECT_MATS_NEAR
(
dst
,
0
)
;
}
};
...
...
@@ -1565,7 +1573,7 @@ PARAM_TEST_CASE(PatchNaNs, Channels, bool)
bool
use_roi
;
double
value
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
virtual
void
SetUp
()
{
...
...
@@ -1592,12 +1600,12 @@ PARAM_TEST_CASE(PatchNaNs, Channels, bool)
value
=
randomDouble
(
-
100
,
100
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
}
void
Near
()
{
OCL_EXPECT_MATS_NEAR
(
src
,
0
)
OCL_EXPECT_MATS_NEAR
(
src
,
0
)
;
}
};
...
...
@@ -1640,8 +1648,8 @@ PARAM_TEST_CASE(Reduce, std::pair<MatDepth, MatDepth>, Channels, int, bool)
int
sdepth
,
ddepth
,
cn
,
dim
,
dtype
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -1666,8 +1674,8 @@ PARAM_TEST_CASE(Reduce, std::pair<MatDepth, MatDepth>, Channels, int, bool)
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
dstRoiSize
,
dstBorder
,
dtype
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
};
...
...
@@ -1683,7 +1691,7 @@ OCL_TEST_P(ReduceSum, Mat)
OCL_ON
(
cv
::
reduce
(
usrc_roi
,
udst_roi
,
dim
,
CV_REDUCE_SUM
,
dtype
));
double
eps
=
ddepth
<=
CV_32S
?
1
:
1e-4
;
OCL_EXPECT_MATS_NEAR
(
dst
,
eps
)
OCL_EXPECT_MATS_NEAR
(
dst
,
eps
)
;
}
}
...
...
@@ -1698,7 +1706,7 @@ OCL_TEST_P(ReduceMax, Mat)
OCL_OFF
(
cv
::
reduce
(
src_roi
,
dst_roi
,
dim
,
CV_REDUCE_MAX
,
dtype
));
OCL_ON
(
cv
::
reduce
(
usrc_roi
,
udst_roi
,
dim
,
CV_REDUCE_MAX
,
dtype
));
OCL_EXPECT_MATS_NEAR
(
dst
,
0
)
OCL_EXPECT_MATS_NEAR
(
dst
,
0
)
;
}
}
...
...
@@ -1713,7 +1721,7 @@ OCL_TEST_P(ReduceMin, Mat)
OCL_OFF
(
cv
::
reduce
(
src_roi
,
dst_roi
,
dim
,
CV_REDUCE_MIN
,
dtype
));
OCL_ON
(
cv
::
reduce
(
usrc_roi
,
udst_roi
,
dim
,
CV_REDUCE_MIN
,
dtype
));
OCL_EXPECT_MATS_NEAR
(
dst
,
0
)
OCL_EXPECT_MATS_NEAR
(
dst
,
0
)
;
}
}
...
...
@@ -1729,7 +1737,7 @@ OCL_TEST_P(ReduceAvg, Mat)
OCL_ON
(
cv
::
reduce
(
usrc_roi
,
udst_roi
,
dim
,
CV_REDUCE_AVG
,
dtype
));
double
eps
=
ddepth
<=
CV_32S
?
1
:
5e-6
;
OCL_EXPECT_MATS_NEAR
(
dst
,
eps
)
OCL_EXPECT_MATS_NEAR
(
dst
,
eps
)
;
}
}
...
...
modules/core/test/ocl/test_channels.cpp
View file @
b73490f8
...
...
@@ -54,16 +54,16 @@ namespace ocl {
//////////////////////////////////////// Merge ///////////////////////////////////////////////
PARAM_TEST_CASE
(
Merge
,
MatDepth
,
Channels
,
bool
)
PARAM_TEST_CASE
(
Merge
,
MatDepth
,
int
,
bool
)
{
int
depth
,
cn
;
int
depth
,
nsrc
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
src1
)
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
TEST_DECLARE_INPUT_PARAMETER
(
src3
)
TEST_DECLARE_INPUT_PARAMETER
(
src4
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src1
)
;
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
;
TEST_DECLARE_INPUT_PARAMETER
(
src3
)
;
TEST_DECLARE_INPUT_PARAMETER
(
src4
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
std
::
vector
<
Mat
>
src_roi
;
std
::
vector
<
UMat
>
usrc_roi
;
...
...
@@ -71,10 +71,15 @@ PARAM_TEST_CASE(Merge, MatDepth, Channels, bool)
virtual
void
SetUp
()
{
depth
=
GET_PARAM
(
0
);
cn
=
GET_PARAM
(
1
);
nsrc
=
GET_PARAM
(
1
);
use_roi
=
GET_PARAM
(
2
);
CV_Assert
(
cn
>=
1
&&
cn
<=
4
);
CV_Assert
(
nsrc
>=
1
&&
nsrc
<=
4
);
}
int
type
()
{
return
CV_MAKE_TYPE
(
depth
,
randomInt
(
1
,
3
));
}
void
generateTestData
()
...
...
@@ -83,34 +88,39 @@ PARAM_TEST_CASE(Merge, MatDepth, Channels, bool)
{
Border
src1Border
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
src1
,
src1_roi
,
roiSize
,
src1Border
,
depth
,
2
,
11
);
randomSubMat
(
src1
,
src1_roi
,
roiSize
,
src1Border
,
type
()
,
2
,
11
);
Border
src2Border
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
src2
,
src2_roi
,
roiSize
,
src2Border
,
depth
,
-
1540
,
1740
);
randomSubMat
(
src2
,
src2_roi
,
roiSize
,
src2Border
,
type
()
,
-
1540
,
1740
);
Border
src3Border
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
src3
,
src3_roi
,
roiSize
,
src3Border
,
depth
,
-
1540
,
1740
);
randomSubMat
(
src3
,
src3_roi
,
roiSize
,
src3Border
,
type
()
,
-
1540
,
1740
);
Border
src4Border
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
src4
,
src4_roi
,
roiSize
,
src4Border
,
depth
,
-
1540
,
1740
);
randomSubMat
(
src4
,
src4_roi
,
roiSize
,
src4Border
,
type
()
,
-
1540
,
1740
);
}
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
CV_MAKE_TYPE
(
depth
,
cn
),
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src3
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src4
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src3
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src4
);
src_roi
.
push_back
(
src1_roi
),
usrc_roi
.
push_back
(
usrc1_roi
);
if
(
cn
>=
2
)
if
(
nsrc
>=
2
)
src_roi
.
push_back
(
src2_roi
),
usrc_roi
.
push_back
(
usrc2_roi
);
if
(
cn
>=
3
)
if
(
nsrc
>=
3
)
src_roi
.
push_back
(
src3_roi
),
usrc_roi
.
push_back
(
usrc3_roi
);
if
(
cn
>=
4
)
if
(
nsrc
>=
4
)
src_roi
.
push_back
(
src4_roi
),
usrc_roi
.
push_back
(
usrc4_roi
);
int
dcn
=
0
;
for
(
int
i
=
0
;
i
<
nsrc
;
++
i
)
dcn
+=
src_roi
[
i
].
channels
();
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
CV_MAKE_TYPE
(
depth
,
dcn
),
5
,
16
);
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
);
}
void
Near
(
double
threshold
=
0.
)
...
...
@@ -139,11 +149,11 @@ PARAM_TEST_CASE(Split, MatType, Channels, bool)
int
depth
,
cn
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst1
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst2
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst3
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst4
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst1
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst2
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst3
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst4
)
;
std
::
vector
<
Mat
>
dst_roi
,
dst
;
std
::
vector
<
UMat
>
udst_roi
,
udst
;
...
...
@@ -177,11 +187,11 @@ PARAM_TEST_CASE(Split, MatType, Channels, bool)
randomSubMat
(
dst4
,
dst4_roi
,
roiSize
,
dst4Border
,
depth
,
-
1540
,
1740
);
}
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst1
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst2
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst3
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst4
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst1
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst2
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst3
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst4
)
;
dst_roi
.
push_back
(
dst1_roi
),
udst_roi
.
push_back
(
udst1_roi
),
dst
.
push_back
(
dst1
),
udst
.
push_back
(
udst1
);
...
...
@@ -221,14 +231,14 @@ PARAM_TEST_CASE(MixChannels, MatType, bool)
int
depth
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
src1
)
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
TEST_DECLARE_INPUT_PARAMETER
(
src3
)
TEST_DECLARE_INPUT_PARAMETER
(
src4
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst1
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst2
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst3
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst4
)
TEST_DECLARE_INPUT_PARAMETER
(
src1
)
;
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
;
TEST_DECLARE_INPUT_PARAMETER
(
src3
)
;
TEST_DECLARE_INPUT_PARAMETER
(
src4
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst1
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst2
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst3
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst4
)
;
std
::
vector
<
Mat
>
src_roi
,
dst_roi
,
dst
;
std
::
vector
<
UMat
>
usrc_roi
,
udst_roi
,
udst
;
...
...
@@ -287,15 +297,15 @@ PARAM_TEST_CASE(MixChannels, MatType, bool)
randomSubMat
(
dst4
,
dst4_roi
,
roiSize
,
dst4Border
,
type
(),
-
1540
,
1740
);
}
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src3
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src4
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
src3
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
src4
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst1
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst2
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst3
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst4
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst1
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst2
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst3
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst4
)
;
int
nsrc
=
randomInt
(
1
,
5
),
ndst
=
randomInt
(
1
,
5
);
...
...
@@ -360,8 +370,8 @@ PARAM_TEST_CASE(InsertChannel, MatDepth, Channels, bool)
int
depth
,
cn
,
coi
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -381,8 +391,8 @@ PARAM_TEST_CASE(InsertChannel, MatDepth, Channels, bool)
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
CV_MAKE_TYPE
(
depth
,
cn
),
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
};
...
...
@@ -406,8 +416,8 @@ PARAM_TEST_CASE(ExtractChannel, MatDepth, Channels, bool)
int
depth
,
cn
,
coi
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -427,8 +437,8 @@ PARAM_TEST_CASE(ExtractChannel, MatDepth, Channels, bool)
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
depth
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
};
...
...
@@ -447,7 +457,7 @@ OCL_TEST_P(ExtractChannel, Accuracy)
//////////////////////////////////////// Instantiation ///////////////////////////////////////////////
OCL_INSTANTIATE_TEST_CASE_P
(
Channels
,
Merge
,
Combine
(
OCL_ALL_DEPTHS
,
OCL_ALL_CHANNELS
,
Bool
()));
OCL_INSTANTIATE_TEST_CASE_P
(
Channels
,
Merge
,
Combine
(
OCL_ALL_DEPTHS
,
Values
(
1
,
2
,
3
,
4
)
,
Bool
()));
OCL_INSTANTIATE_TEST_CASE_P
(
Channels
,
Split
,
Combine
(
OCL_ALL_DEPTHS
,
OCL_ALL_CHANNELS
,
Bool
()));
OCL_INSTANTIATE_TEST_CASE_P
(
Channels
,
MixChannels
,
Combine
(
OCL_ALL_DEPTHS
,
Bool
()));
OCL_INSTANTIATE_TEST_CASE_P
(
Channels
,
InsertChannel
,
Combine
(
OCL_ALL_DEPTHS
,
OCL_ALL_CHANNELS
,
Bool
()));
...
...
modules/core/test/ocl/test_dft.cpp
View file @
b73490f8
...
...
@@ -60,8 +60,8 @@ PARAM_TEST_CASE(Dft, cv::Size, MatDepth, bool, bool, bool, bool)
int
dft_flags
,
depth
;
bool
inplace
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -106,9 +106,9 @@ PARAM_TEST_CASE(MulSpectrums, bool, bool)
{
bool
ccorr
,
useRoi
;
TEST_DECLARE_INPUT_PARAMETER
(
src1
)
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src1
)
;
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -129,9 +129,9 @@ PARAM_TEST_CASE(MulSpectrums, bool, bool)
Border
dstBorder
=
randomBorder
(
0
,
useRoi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
srcRoiSize
,
dstBorder
,
CV_32FC2
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
};
...
...
modules/core/test/ocl/test_gemm.cpp
View file @
b73490f8
...
...
@@ -67,10 +67,10 @@ PARAM_TEST_CASE(Gemm,
double
alpha
,
beta
;
TEST_DECLARE_INPUT_PARAMETER
(
A
)
TEST_DECLARE_INPUT_PARAMETER
(
B
)
TEST_DECLARE_INPUT_PARAMETER
(
C
)
TEST_DECLARE_OUTPUT_PARAMETER
(
D
)
TEST_DECLARE_INPUT_PARAMETER
(
A
)
;
TEST_DECLARE_INPUT_PARAMETER
(
B
)
;
TEST_DECLARE_INPUT_PARAMETER
(
C
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
D
)
;
virtual
void
SetUp
()
{
...
...
@@ -119,10 +119,10 @@ PARAM_TEST_CASE(Gemm,
alpha
=
randomDouble
(
-
4
,
4
);
beta
=
randomDouble
(
-
4
,
4
);
UMAT_UPLOAD_INPUT_PARAMETER
(
A
)
UMAT_UPLOAD_INPUT_PARAMETER
(
B
)
UMAT_UPLOAD_INPUT_PARAMETER
(
C
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
D
)
UMAT_UPLOAD_INPUT_PARAMETER
(
A
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
B
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
C
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
D
)
;
}
};
...
...
modules/core/test/ocl/test_matrix_operation.cpp
View file @
b73490f8
...
...
@@ -59,8 +59,8 @@ PARAM_TEST_CASE(ConvertTo, MatDepth, MatDepth, Channels, bool)
int
src_depth
,
cn
,
dstType
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -80,8 +80,8 @@ PARAM_TEST_CASE(ConvertTo, MatDepth, MatDepth, Channels, bool)
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
dstType
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
};
...
...
@@ -108,9 +108,9 @@ PARAM_TEST_CASE(CopyTo, MatDepth, Channels, bool, bool)
int
depth
,
cn
;
bool
use_roi
,
use_mask
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_INPUT_PARAMETER
(
mask
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_INPUT_PARAMETER
(
mask
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -139,10 +139,10 @@ PARAM_TEST_CASE(CopyTo, MatDepth, Channels, bool, bool)
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
type
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
if
(
use_mask
)
UMAT_UPLOAD_INPUT_PARAMETER
(
mask
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
mask
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
};
...
...
@@ -169,7 +169,7 @@ OCL_TEST_P(CopyTo, Accuracy)
}
OCL_INSTANTIATE_TEST_CASE_P
(
MatrixOperation
,
ConvertTo
,
Combine
(
OCL_ALL_DEPTHS
,
OCL_ALL_DEPTHS
,
OCL_ALL_CHANNELS
,
Bool
()));
OCL_ALL_DEPTHS
,
OCL_ALL_DEPTHS
,
OCL_ALL_CHANNELS
,
Bool
()));
OCL_INSTANTIATE_TEST_CASE_P
(
MatrixOperation
,
CopyTo
,
Combine
(
OCL_ALL_DEPTHS
,
OCL_ALL_CHANNELS
,
Bool
(),
Bool
()));
...
...
modules/imgproc/test/ocl/test_accumulate.cpp
View file @
b73490f8
...
...
@@ -58,10 +58,10 @@ PARAM_TEST_CASE(AccumulateBase, std::pair<MatDepth, MatDepth>, Channels, bool)
bool
useRoi
;
double
alpha
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_INPUT_PARAMETER
(
mask
)
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_INPUT_PARAMETER
(
mask
)
;
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -90,10 +90,10 @@ PARAM_TEST_CASE(AccumulateBase, std::pair<MatDepth, MatDepth>, Channels, bool)
Border
dstBorder
=
randomBorder
(
0
,
useRoi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
dtype
,
-
MAX_VALUE
,
MAX_VALUE
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_INPUT_PARAMETER
(
mask
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
mask
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
alpha
=
randomDouble
(
-
5
,
5
);
}
...
...
modules/imgproc/test/ocl/test_blend.cpp
View file @
b73490f8
...
...
@@ -57,11 +57,11 @@ PARAM_TEST_CASE(BlendLinear, MatDepth, Channels, bool)
int
depth
,
channels
;
bool
useRoi
;
TEST_DECLARE_INPUT_PARAMETER
(
src1
)
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
TEST_DECLARE_INPUT_PARAMETER
(
weights2
)
TEST_DECLARE_INPUT_PARAMETER
(
weights1
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src1
)
;
TEST_DECLARE_INPUT_PARAMETER
(
src2
)
;
TEST_DECLARE_INPUT_PARAMETER
(
weights2
)
;
TEST_DECLARE_INPUT_PARAMETER
(
weights1
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -89,22 +89,22 @@ PARAM_TEST_CASE(BlendLinear, MatDepth, Channels, bool)
randomSubMat
(
weights2
,
weights2_roi
,
roiSize
,
weights2Border
,
CV_32FC1
,
1e-2
,
upValue
);
weights2_roi
-=
weights1_roi
;
CV_Assert
(
checkNorm
(
weights2_roi
,
weights2
(
Rect
(
weights2Border
.
lef
,
weights2Border
.
top
,
CV_Assert
(
checkNorm
2
(
weights2_roi
,
weights2
(
Rect
(
weights2Border
.
lef
,
weights2Border
.
top
,
roiSize
.
width
,
roiSize
.
height
)))
<
1e-6
);
Border
dstBorder
=
randomBorder
(
0
,
useRoi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
type
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
UMAT_UPLOAD_INPUT_PARAMETER
(
weights1
)
UMAT_UPLOAD_INPUT_PARAMETER
(
weights2
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src1
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
src2
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
weights1
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
weights2
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
(
double
eps
=
0.0
)
{
OCL_EXPECT_MATS_NEAR
(
dst
,
eps
)
OCL_EXPECT_MATS_NEAR
(
dst
,
eps
)
;
}
};
...
...
modules/imgproc/test/ocl/test_boxfilter.cpp
View file @
b73490f8
...
...
@@ -61,8 +61,8 @@ PARAM_TEST_CASE(BoxFilterBase, MatDepth, Channels, BorderType, bool, bool)
Point
anchor
;
bool
normalize
,
useRoi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -76,7 +76,6 @@ PARAM_TEST_CASE(BoxFilterBase, MatDepth, Channels, BorderType, bool, bool)
void
random_roi
()
{
int
type
=
CV_MAKE_TYPE
(
depth
,
cn
);
dsize
=
randomSize
(
1
,
MAX_VALUE
);
ksize
=
randomSize
(
kernelMinSize
,
kernelMaxSize
);
Size
roiSize
=
randomSize
(
ksize
.
width
,
MAX_VALUE
,
ksize
.
height
,
MAX_VALUE
);
...
...
@@ -84,18 +83,18 @@ PARAM_TEST_CASE(BoxFilterBase, MatDepth, Channels, BorderType, bool, bool)
randomSubMat
(
src
,
src_roi
,
roiSize
,
srcBorder
,
type
,
-
MAX_VALUE
,
MAX_VALUE
);
Border
dstBorder
=
randomBorder
(
0
,
useRoi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
ds
ize
,
dstBorder
,
type
,
-
MAX_VALUE
,
MAX_VALUE
);
randomSubMat
(
dst
,
dst_roi
,
roiS
ize
,
dstBorder
,
type
,
-
MAX_VALUE
,
MAX_VALUE
);
anchor
.
x
=
randomInt
(
-
1
,
ksize
.
width
);
anchor
.
y
=
randomInt
(
-
1
,
ksize
.
height
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
(
double
threshold
=
0.0
)
{
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
;
}
};
...
...
modules/imgproc/test/ocl/test_canny.cpp
View file @
b73490f8
...
...
@@ -63,8 +63,8 @@ PARAM_TEST_CASE(Canny, AppertureSize, L2gradient, UseRoi)
int
apperture_size
;
bool
useL2gradient
,
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -89,8 +89,8 @@ PARAM_TEST_CASE(Canny, AppertureSize, L2gradient, UseRoi)
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
type
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
};
...
...
modules/imgproc/test/ocl/test_color.cpp
View file @
b73490f8
...
...
@@ -59,8 +59,8 @@ PARAM_TEST_CASE(CvtColor, MatDepth, bool)
int
depth
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -80,13 +80,13 @@ PARAM_TEST_CASE(CvtColor, MatDepth, bool)
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
dstType
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
(
double
threshold
)
{
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
;
}
void
performTest
(
int
channelsIn
,
int
channelsOut
,
int
code
,
double
threshold
=
1e-3
)
...
...
@@ -287,8 +287,8 @@ struct CvtColor_YUV420 :
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
dstType
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
};
...
...
modules/imgproc/test/ocl/test_filter2d.cpp
View file @
b73490f8
...
...
@@ -63,8 +63,8 @@ PARAM_TEST_CASE(Filter2D, MatDepth, Channels, BorderType, bool, bool)
bool
useRoi
;
Mat
kernel
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -91,8 +91,8 @@ PARAM_TEST_CASE(Filter2D, MatDepth, Channels, BorderType, bool, bool)
anchor
.
x
=
randomInt
(
-
1
,
ksize
.
width
);
anchor
.
y
=
randomInt
(
-
1
,
ksize
.
height
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
(
double
threshold
=
0.0
)
...
...
modules/imgproc/test/ocl/test_filters.cpp
View file @
b73490f8
...
...
@@ -69,8 +69,8 @@ PARAM_TEST_CASE(FilterTestBase, MatType,
double
param
;
bool
useRoi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -94,8 +94,8 @@ PARAM_TEST_CASE(FilterTestBase, MatType,
Border
dstBorder
=
randomBorder
(
0
,
useRoi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
type
,
-
60
,
70
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
()
...
...
@@ -112,15 +112,9 @@ PARAM_TEST_CASE(FilterTestBase, MatType,
void
Near
(
double
threshold
,
bool
relative
)
{
if
(
relative
)
{
EXPECT_MAT_NEAR_RELATIVE
(
dst
,
udst
,
threshold
);
EXPECT_MAT_NEAR_RELATIVE
(
dst_roi
,
udst_roi
,
threshold
);
}
OCL_EXPECT_MATS_NEAR_RELATIVE
(
dst
,
threshold
);
else
{
EXPECT_MAT_NEAR
(
dst
,
udst
,
threshold
);
EXPECT_MAT_NEAR
(
dst_roi
,
udst_roi
,
threshold
);
}
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
);
}
};
...
...
modules/imgproc/test/ocl/test_gftt.cpp
View file @
b73490f8
...
...
@@ -60,7 +60,7 @@ PARAM_TEST_CASE(GoodFeaturesToTrack, double, bool)
static
const
int
maxCorners
;
static
const
double
qualityLevel
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
UMat
points
,
upoints
;
virtual
void
SetUp
()
...
...
@@ -79,7 +79,7 @@ PARAM_TEST_CASE(GoodFeaturesToTrack, double, bool)
randomSubMat
(
src
,
src_roi
,
roiSize
,
srcBorder
,
frame
.
type
(),
5
,
256
);
src_roi
.
copyTo
(
frame
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
}
void
UMatToVector
(
const
UMat
&
um
,
std
::
vector
<
Point2f
>
&
v
)
const
...
...
modules/imgproc/test/ocl/test_histogram.cpp
View file @
b73490f8
...
...
@@ -76,8 +76,8 @@ PARAM_TEST_CASE(CalcBackProject, MatDepth, int, bool)
std
::
vector
<
UMat
>
uimages
;
std
::
vector
<
UMat
>
uimages_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
hist
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
hist
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -139,8 +139,8 @@ PARAM_TEST_CASE(CalcBackProject, MatDepth, int, bool)
uimages_roi
[
i
]
=
uimages
[
i
](
Rect
(
ofs
.
x
,
ofs
.
y
,
images_roi
[
i
].
cols
,
images_roi
[
i
].
rows
));
}
UMAT_UPLOAD_INPUT_PARAMETER
(
hist
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
hist
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
scale
=
randomDouble
(
0.1
,
1
);
}
...
...
@@ -157,7 +157,7 @@ OCL_TEST_P(CalcBackProject, Mat)
OCL_OFF
(
cv
::
calcBackProject
(
images_roi
,
channels
,
hist_roi
,
dst_roi
,
ranges
,
scale
));
OCL_ON
(
cv
::
calcBackProject
(
uimages_roi
,
channels
,
uhist_roi
,
udst_roi
,
ranges
,
scale
));
OCL_EXPECT_MATS_NEAR
(
dst
,
0.0
)
OCL_EXPECT_MATS_NEAR
(
dst
,
0.0
)
;
}
}
...
...
@@ -167,8 +167,8 @@ PARAM_TEST_CASE(CalcHist, bool)
{
bool
useRoi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
hist
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
hist
)
;
virtual
void
SetUp
()
{
...
...
@@ -185,8 +185,8 @@ PARAM_TEST_CASE(CalcHist, bool)
Border
histBorder
=
randomBorder
(
0
,
useRoi
?
MAX_VALUE
:
0
);
randomSubMat
(
hist
,
hist_roi
,
Size
(
1
,
256
),
histBorder
,
CV_32SC1
,
0
,
MAX_VALUE
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
hist
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
hist
)
;
}
};
...
...
@@ -205,7 +205,7 @@ OCL_TEST_P(CalcHist, Mat)
OCL_OFF
(
cv
::
calcHist
(
std
::
vector
<
Mat
>
(
1
,
src_roi
),
channels
,
noArray
(),
hist_roi
,
histSize
,
ranges
,
false
));
OCL_ON
(
cv
::
calcHist
(
std
::
vector
<
UMat
>
(
1
,
usrc_roi
),
channels
,
noArray
(),
uhist_roi
,
histSize
,
ranges
,
false
));
OCL_EXPECT_MATS_NEAR
(
hist
,
0.0
)
OCL_EXPECT_MATS_NEAR
(
hist
,
0.0
)
;
}
}
...
...
modules/imgproc/test/ocl/test_imgproc.cpp
View file @
b73490f8
...
...
@@ -70,8 +70,8 @@ PARAM_TEST_CASE(ImgprocTestBase, MatType,
int
type
,
borderType
,
blockSize
;
bool
useRoi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -90,16 +90,16 @@ PARAM_TEST_CASE(ImgprocTestBase, MatType,
Border
dstBorder
=
randomBorder
(
0
,
useRoi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
type
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
(
double
threshold
=
0.0
,
bool
relative
=
false
)
{
if
(
relative
)
OCL_EXPECT_MATS_NEAR_RELATIVE
(
dst
,
threshold
)
OCL_EXPECT_MATS_NEAR_RELATIVE
(
dst
,
threshold
)
;
else
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
;
}
};
...
...
@@ -117,8 +117,8 @@ PARAM_TEST_CASE(CopyMakeBorder, MatDepth, // depth
TestUtils
::
Border
border
;
Scalar
val
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -148,13 +148,13 @@ PARAM_TEST_CASE(CopyMakeBorder, MatDepth, // depth
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
type
,
-
MAX_VALUE
,
MAX_VALUE
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
()
{
OCL_EXPECT_MATS_NEAR
(
dst
,
0
)
OCL_EXPECT_MATS_NEAR
(
dst
,
0
)
;
}
};
...
...
@@ -217,8 +217,8 @@ struct CornerTestBase :
Border
dstBorder
=
randomBorder
(
0
,
useRoi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
CV_32FC1
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
};
...
...
@@ -286,7 +286,7 @@ struct Integral :
{
int
sdepth
,
sqdepth
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst2
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst2
)
;
virtual
void
SetUp
()
{
...
...
@@ -310,17 +310,17 @@ struct Integral :
Border
dst2Border
=
randomBorder
(
0
,
useRoi
?
2
:
0
);
randomSubMat
(
dst2
,
dst2_roi
,
isize
,
dst2Border
,
sqdepth
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst2
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst2
)
;
}
void
Near2
(
double
threshold
=
0.0
,
bool
relative
=
false
)
{
if
(
relative
)
OCL_EXPECT_MATS_NEAR_RELATIVE
(
dst2
,
threshold
)
OCL_EXPECT_MATS_NEAR_RELATIVE
(
dst2
,
threshold
)
;
else
OCL_EXPECT_MATS_NEAR
(
dst2
,
threshold
)
OCL_EXPECT_MATS_NEAR
(
dst2
,
threshold
)
;
}
};
...
...
@@ -390,8 +390,8 @@ PARAM_TEST_CASE(CLAHETest, Size, double, bool)
double
clipLimit
;
bool
useRoi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -409,13 +409,13 @@ PARAM_TEST_CASE(CLAHETest, Size, double, bool)
Border
dstBorder
=
randomBorder
(
0
,
useRoi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
CV_8UC1
,
5
,
16
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
(
double
threshold
=
0.0
)
{
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
;
}
};
...
...
modules/imgproc/test/ocl/test_match_template.cpp
View file @
b73490f8
...
...
@@ -62,9 +62,9 @@ PARAM_TEST_CASE(MatchTemplate, MatDepth, Channels, MatchTemplType, bool)
int
method
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
image
)
TEST_DECLARE_INPUT_PARAMETER
(
templ
)
TEST_DECLARE_OUTPUT_PARAMETER
(
result
)
TEST_DECLARE_INPUT_PARAMETER
(
image
)
;
TEST_DECLARE_INPUT_PARAMETER
(
templ
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
result
)
;
virtual
void
SetUp
()
{
...
...
@@ -92,9 +92,9 @@ PARAM_TEST_CASE(MatchTemplate, MatDepth, Channels, MatchTemplType, bool)
Border
resultBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
result
,
result_roi
,
result_roiSize
,
resultBorder
,
CV_32FC1
,
-
upValue
,
upValue
);
UMAT_UPLOAD_INPUT_PARAMETER
(
image
)
UMAT_UPLOAD_INPUT_PARAMETER
(
templ
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
result
)
UMAT_UPLOAD_INPUT_PARAMETER
(
image
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
templ
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
result
)
;
}
void
Near
(
double
threshold
=
0.0
)
...
...
modules/imgproc/test/ocl/test_medianfilter.cpp
View file @
b73490f8
...
...
@@ -57,8 +57,8 @@ PARAM_TEST_CASE(MedianFilter, MatDepth, Channels, int, bool)
int
ksize
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -76,8 +76,8 @@ PARAM_TEST_CASE(MedianFilter, MatDepth, Channels, int, bool)
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
type
,
-
MAX_VALUE
,
MAX_VALUE
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
(
double
threshold
=
0.0
)
...
...
modules/imgproc/test/ocl/test_pyramids.cpp
View file @
b73490f8
...
...
@@ -57,8 +57,8 @@ PARAM_TEST_CASE(PyrTestBase, MatDepth, Channels, bool)
int
depth
,
channels
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -75,8 +75,8 @@ PARAM_TEST_CASE(PyrTestBase, MatDepth, Channels, bool)
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
dst_roiSize
,
dstBorder
,
CV_MAKETYPE
(
depth
,
channels
),
-
MAX_VALUE
,
MAX_VALUE
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
(
double
threshold
=
0.0
)
...
...
modules/imgproc/test/ocl/test_sepfilter2D.cpp
View file @
b73490f8
...
...
@@ -62,8 +62,8 @@ PARAM_TEST_CASE(SepFilter2D, MatDepth, Channels, BorderType, bool, bool)
bool
useRoi
;
Mat
kernelX
,
kernelY
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -103,8 +103,8 @@ PARAM_TEST_CASE(SepFilter2D, MatDepth, Channels, BorderType, bool, bool)
anchor
.
x
=
-
1
;
anchor
.
y
=
-
1
;
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
(
double
threshold
=
0.0
)
...
...
modules/imgproc/test/ocl/test_warp.cpp
View file @
b73490f8
...
...
@@ -73,8 +73,8 @@ PARAM_TEST_CASE(WarpTestBase, MatType, Interpolation, bool, bool)
Size
dsize
;
bool
useRoi
,
mapInverse
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -98,13 +98,13 @@ PARAM_TEST_CASE(WarpTestBase, MatType, Interpolation, bool, bool)
Border
dstBorder
=
randomBorder
(
0
,
useRoi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
dsize
,
dstBorder
,
type
,
-
MAX_VALUE
,
MAX_VALUE
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
void
Near
(
double
threshold
=
0.0
)
{
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
;
}
};
...
...
@@ -164,8 +164,8 @@ PARAM_TEST_CASE(Resize, MatType, double, double, Interpolation, bool)
double
fx
,
fy
;
bool
useRoi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -202,7 +202,7 @@ PARAM_TEST_CASE(Resize, MatType, double, double, Interpolation, bool)
void
Near
(
double
threshold
=
0.0
)
{
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
;
}
};
...
...
@@ -230,10 +230,10 @@ PARAM_TEST_CASE(Remap, MatDepth, Channels, std::pair<MatType, MatType>, BorderTy
Scalar
val
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_INPUT_PARAMETER
(
map1
)
TEST_DECLARE_INPUT_PARAMETER
(
map2
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_INPUT_PARAMETER
(
map1
)
;
TEST_DECLARE_INPUT_PARAMETER
(
map2
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -269,16 +269,16 @@ PARAM_TEST_CASE(Remap, MatDepth, Channels, std::pair<MatType, MatType>, BorderTy
randomSubMat
(
map2
,
map2_roi
,
dstROISize
,
map2Border
,
map2Type
,
mapMinValue
,
mapMaxValue
);
}
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_INPUT_PARAMETER
(
map1
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_INPUT_PARAMETER
(
map1
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
if
(
noType
!=
map2Type
)
UMAT_UPLOAD_INPUT_PARAMETER
(
map2
)
UMAT_UPLOAD_INPUT_PARAMETER
(
map2
)
;
}
void
Near
(
double
threshold
=
0.0
)
{
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
OCL_EXPECT_MATS_NEAR
(
dst
,
threshold
)
;
}
};
...
...
modules/photo/test/ocl/test_denoising.cpp
View file @
b73490f8
...
...
@@ -19,8 +19,8 @@ PARAM_TEST_CASE(FastNlMeansDenoisingTestBase, Channels, bool)
float
h
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
src
)
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
TEST_DECLARE_INPUT_PARAMETER
(
src
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
dst
)
;
virtual
void
SetUp
()
{
...
...
@@ -52,8 +52,8 @@ PARAM_TEST_CASE(FastNlMeansDenoisingTestBase, Channels, bool)
Border
dstBorder
=
randomBorder
(
0
,
use_roi
?
MAX_VALUE
:
0
);
randomSubMat
(
dst
,
dst_roi
,
roiSize
,
dstBorder
,
type
,
0
,
255
);
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
UMAT_UPLOAD_INPUT_PARAMETER
(
src
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
dst
)
;
}
};
...
...
@@ -68,7 +68,7 @@ OCL_TEST_P(FastNlMeansDenoising, Mat)
OCL_OFF
(
cv
::
fastNlMeansDenoising
(
src_roi
,
dst_roi
,
h
,
templateWindowSize
,
searchWindowSize
));
OCL_ON
(
cv
::
fastNlMeansDenoising
(
usrc_roi
,
udst_roi
,
h
,
templateWindowSize
,
searchWindowSize
));
OCL_EXPECT_MATS_NEAR
(
dst
,
1
)
OCL_EXPECT_MATS_NEAR
(
dst
,
1
)
;
}
}
...
...
@@ -83,7 +83,7 @@ OCL_TEST_P(fastNlMeansDenoisingColored, Mat)
OCL_OFF
(
cv
::
fastNlMeansDenoisingColored
(
src_roi
,
dst_roi
,
h
,
h
,
templateWindowSize
,
searchWindowSize
));
OCL_ON
(
cv
::
fastNlMeansDenoisingColored
(
usrc_roi
,
udst_roi
,
h
,
h
,
templateWindowSize
,
searchWindowSize
));
OCL_EXPECT_MATS_NEAR
(
dst
,
1
)
OCL_EXPECT_MATS_NEAR
(
dst
,
1
)
;
}
}
...
...
modules/ts/include/opencv2/ts/ocl_test.hpp
View file @
b73490f8
...
...
@@ -62,53 +62,73 @@ extern int test_loop_times;
#define MAX_VALUE 357
#define EXPECT_MAT_NORM(mat, eps) \
do \
{ \
EXPECT_LE(TestUtils::checkNorm(mat), eps) \
}
EXPECT_LE(TestUtils::checkNorm
1
(mat), eps) \
}
while ((void)0, 0)
#define EXPECT_MAT_NEAR(mat1, mat2, eps) \
do \
{ \
ASSERT_EQ(mat1.type(), mat2.type()); \
ASSERT_EQ(mat1.size(), mat2.size()); \
EXPECT_LE(TestUtils::checkNorm(mat1, mat2), eps) \
EXPECT_LE(TestUtils::checkNorm
2
(mat1, mat2), eps) \
<< "Size: " << mat1.size() << std::endl; \
}
}
while ((void)0, 0)
#define EXPECT_MAT_NEAR_RELATIVE(mat1, mat2, eps) \
do \
{ \
ASSERT_EQ(mat1.type(), mat2.type()); \
ASSERT_EQ(mat1.size(), mat2.size()); \
EXPECT_LE(TestUtils::checkNormRelative(mat1, mat2), eps) \
<< "Size: " << mat1.size() << std::endl; \
}
}
while ((void)0, 0)
#define OCL_EXPECT_MATS_NEAR(name, eps) \
do \
{ \
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*/
); \
}
ASSERT_EQ(name ## _roi.type(), u ## name ## _roi.type()); \
ASSERT_EQ(name ## _roi.size(), u ## name ## _roi.size()); \
EXPECT_LE(TestUtils::checkNorm2(name ## _roi, u ## name ## _roi), eps) \
<< "Size: " << name ## _roi.size() << std::endl; \
Point _offset; \
Size _wholeSize; \
u ## name ## _roi.locateROI(_wholeSize, _offset); \
Mat _mask(name.size(), CV_8UC1, Scalar::all(255)); \
_mask(Rect(_offset, name ## _roi.size())).setTo(Scalar::all(0)); \
ASSERT_EQ(name.type(), u ## name.type()); \
ASSERT_EQ(name.size(), u ## name.size()); \
EXPECT_LE(TestUtils::checkNorm2(name, u ## name, _mask), eps) \
<< "Size: " << name ## _roi.size() << std::endl; \
} while ((void)0, 0)
#define OCL_EXPECT_MATS_NEAR_RELATIVE(name, eps) \
do \
{ \
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*/
); \
}
ASSERT_EQ(name ## _roi.type(), u ## name ## _roi.type()); \
ASSERT_EQ(name ## _roi.size(), u ## name ## _roi.size()); \
EXPECT_LE(TestUtils::checkNormRelative(name ## _roi, u ## name ## _roi), eps) \
<< "Size: " << name ## _roi.size() << std::endl; \
Point _offset; \
Size _wholeSize; \
name ## _roi.locateROI(_wholeSize, _offset); \
Mat _mask(name.size(), CV_8UC1, Scalar::all(255)); \
_mask(Rect(_offset, name ## _roi.size())).setTo(Scalar::all(0)); \
ASSERT_EQ(name.type(), u ## name.type()); \
ASSERT_EQ(name.size(), u ## name.size()); \
EXPECT_LE(TestUtils::checkNormRelative(name, u ## name, _mask), eps) \
<< "Size: " << name ## _roi.size() << std::endl; \
} while ((void)0, 0)
#define EXPECT_MAT_SIMILAR(mat1, mat2, eps) \
do \
{ \
ASSERT_EQ(mat1.type(), mat2.type()); \
ASSERT_EQ(mat1.size(), mat2.size()); \
EXPECT_LE(checkSimilarity(mat1, mat2), eps) \
<< "Size: " << mat1.size() << std::endl; \
}
}
while ((void)0, 0)
using
perf
::
MatDepth
;
using
perf
::
MatType
;
...
...
@@ -205,28 +225,30 @@ struct CV_EXPORTS TestUtils
static
cv
::
Mat
readImage
(
const
String
&
fileName
,
int
flags
=
cv
::
IMREAD_COLOR
);
static
cv
::
Mat
readImageType
(
const
String
&
fname
,
int
type
);
static
double
checkNorm
(
InputArray
m
);
static
double
checkNorm
(
InputArray
m1
,
InputArray
m2
);
static
double
checkNorm
1
(
InputArray
m
,
InputArray
mask
=
noArray
()
);
static
double
checkNorm
2
(
InputArray
m1
,
InputArray
m2
,
InputArray
mask
=
noArray
()
);
static
double
checkSimilarity
(
InputArray
m1
,
InputArray
m2
);
static
void
showDiff
(
InputArray
_src
,
InputArray
_gold
,
InputArray
_actual
,
double
eps
,
bool
alwaysShow
);
static
inline
double
checkNormRelative
(
InputArray
m1
,
InputArray
m2
)
static
inline
double
checkNormRelative
(
InputArray
m1
,
InputArray
m2
,
InputArray
mask
=
noArray
()
)
{
return
cv
::
norm
(
m1
.
getMat
(),
m2
.
getMat
(),
cv
::
NORM_INF
)
/
return
cv
::
norm
(
m1
.
getMat
(),
m2
.
getMat
(),
cv
::
NORM_INF
,
mask
)
/
std
::
max
((
double
)
std
::
numeric_limits
<
float
>::
epsilon
(),
(
double
)
std
::
max
(
cv
::
norm
(
m1
.
getMat
(),
cv
::
NORM_INF
),
norm
(
m2
.
getMat
(),
cv
::
NORM_INF
)));
}
};
#define TEST_DECLARE_INPUT_PARAMETER(name) Mat name, name ## _roi; UMat u ## name, u ## name ## _roi
;
#define TEST_DECLARE_INPUT_PARAMETER(name) Mat name, name ## _roi; UMat u ## name, u ## name ## _roi
#define TEST_DECLARE_OUTPUT_PARAMETER(name) TEST_DECLARE_INPUT_PARAMETER(name)
#define UMAT_UPLOAD_INPUT_PARAMETER(name) \
do \
{ \
name.copyTo(u ## name); \
Size _wholeSize; Point ofs; name ## _roi.locateROI(_wholeSize, ofs); \
u ## name ## _roi = u ## name(Rect(ofs.x, ofs.y, name ## _roi.size().width, name ## _roi.size().height)); \
}
} while ((void)0, 0)
#define UMAT_UPLOAD_OUTPUT_PARAMETER(name) UMAT_UPLOAD_INPUT_PARAMETER(name)
template
<
typename
T
>
...
...
modules/ts/src/ocl_test.cpp
View file @
b73490f8
...
...
@@ -223,14 +223,14 @@ Mat TestUtils::readImageType(const String &fname, int type)
return
src
;
}
double
TestUtils
::
checkNorm
(
InputArray
m
)
double
TestUtils
::
checkNorm
1
(
InputArray
m
,
InputArray
mask
)
{
return
norm
(
m
.
getMat
(),
NORM_INF
);
return
norm
(
m
.
getMat
(),
NORM_INF
,
mask
);
}
double
TestUtils
::
checkNorm
(
InputArray
m1
,
InputArray
m2
)
double
TestUtils
::
checkNorm
2
(
InputArray
m1
,
InputArray
m2
,
InputArray
mask
)
{
return
norm
(
m1
.
getMat
(),
m2
.
getMat
(),
NORM_INF
);
return
norm
(
m1
.
getMat
(),
m2
.
getMat
(),
NORM_INF
,
mask
);
}
double
TestUtils
::
checkSimilarity
(
InputArray
m1
,
InputArray
m2
)
...
...
modules/video/test/ocl/test_bgfg_mog2.cpp
View file @
b73490f8
...
...
@@ -70,7 +70,7 @@ OCL_TEST_P(Mog2_Update, Accuracy)
OCL_ON
(
mog2_ocl
->
apply
(
frame
,
u_foreground
));
if
(
detectShadow
)
EXPECT_MAT_SIMILAR
(
foreground
,
u_foreground
,
15e-3
)
EXPECT_MAT_SIMILAR
(
foreground
,
u_foreground
,
15e-3
)
;
else
EXPECT_MAT_NEAR
(
foreground
,
u_foreground
,
0
);
}
...
...
@@ -133,4 +133,4 @@ OCL_INSTANTIATE_TEST_CASE_P(OCL_Video, Mog2_getBackgroundImage, (Values(DetectSh
}}
// namespace cvtest::ocl
#endif
#endif
\ No newline at end of file
#endif
modules/video/test/ocl/test_motempl.cpp
View file @
b73490f8
...
...
@@ -18,8 +18,8 @@ PARAM_TEST_CASE(UpdateMotionHistory, bool)
double
timestamp
,
duration
;
bool
use_roi
;
TEST_DECLARE_INPUT_PARAMETER
(
silhouette
)
TEST_DECLARE_OUTPUT_PARAMETER
(
mhi
)
TEST_DECLARE_INPUT_PARAMETER
(
silhouette
)
;
TEST_DECLARE_OUTPUT_PARAMETER
(
mhi
)
;
virtual
void
SetUp
()
{
...
...
@@ -40,8 +40,8 @@ PARAM_TEST_CASE(UpdateMotionHistory, bool)
if
(
timestamp
<
duration
)
std
::
swap
(
timestamp
,
duration
);
UMAT_UPLOAD_INPUT_PARAMETER
(
silhouette
)
UMAT_UPLOAD_OUTPUT_PARAMETER
(
mhi
)
UMAT_UPLOAD_INPUT_PARAMETER
(
silhouette
)
;
UMAT_UPLOAD_OUTPUT_PARAMETER
(
mhi
)
;
}
};
...
...
@@ -54,7 +54,7 @@ OCL_TEST_P(UpdateMotionHistory, Mat)
OCL_OFF
(
cv
::
updateMotionHistory
(
silhouette_roi
,
mhi_roi
,
timestamp
,
duration
));
OCL_ON
(
cv
::
updateMotionHistory
(
usilhouette_roi
,
umhi_roi
,
timestamp
,
duration
));
OCL_EXPECT_MATS_NEAR
(
mhi
,
0
)
OCL_EXPECT_MATS_NEAR
(
mhi
,
0
)
;
}
}
...
...
modules/video/test/ocl/test_optflow_farneback.cpp
View file @
b73490f8
...
...
@@ -101,7 +101,7 @@ OCL_TEST_P(FarnebackOpticalFlow, Mat)
OCL_OFF
(
cv
::
calcOpticalFlowFarneback
(
frame0
,
frame1
,
flow
,
pyrScale
,
numLevels
,
winSize
,
numIters
,
polyN
,
polySigma
,
flags
));
OCL_ON
(
cv
::
calcOpticalFlowFarneback
(
frame0
,
frame1
,
uflow
,
pyrScale
,
numLevels
,
winSize
,
numIters
,
polyN
,
polySigma
,
flags
));
EXPECT_MAT_SIMILAR
(
flow
,
uflow
,
0.1
)
EXPECT_MAT_SIMILAR
(
flow
,
uflow
,
0.1
)
;
}
...
...
@@ -117,4 +117,4 @@ OCL_INSTANTIATE_TEST_CASE_P(Video, FarnebackOpticalFlow,
}
}
// namespace cvtest::ocl
#endif // HAVE_OPENCL
\ No newline at end of file
#endif // HAVE_OPENCL
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment