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
9368aa9f
Commit
9368aa9f
authored
Oct 10, 2012
by
Vadim Pisarevsky
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
e80cbbb1
b28acfc1
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
903 additions
and
371 deletions
+903
-371
main.cpp
modules/gpu/perf/main.cpp
+0
-137
perf_calib3d.cpp
modules/gpu/perf/perf_calib3d.cpp
+39
-14
perf_core.cpp
modules/gpu/perf/perf_core.cpp
+272
-69
perf_denoising.cpp
modules/gpu/perf/perf_denoising.cpp
+41
-26
perf_features2d.cpp
modules/gpu/perf/perf_features2d.cpp
+37
-6
perf_filters.cpp
modules/gpu/perf/perf_filters.cpp
+45
-9
perf_imgproc.cpp
modules/gpu/perf/perf_imgproc.cpp
+172
-59
perf_labeling.cpp
modules/gpu/perf/perf_labeling.cpp
+5
-1
perf_main.cpp
modules/gpu/perf/perf_main.cpp
+75
-0
perf_matop.cpp
modules/gpu/perf/perf_matop.cpp
+20
-4
perf_objdetect.cpp
modules/gpu/perf/perf_objdetect.cpp
+16
-4
perf_video.cpp
modules/gpu/perf/perf_video.cpp
+77
-32
utility.cpp
modules/gpu/perf/utility.cpp
+2
-3
utility.hpp
modules/gpu/perf/utility.hpp
+32
-2
ts_perf.hpp
modules/ts/include/opencv2/ts/ts_perf.hpp
+14
-1
ts_perf.cpp
modules/ts/src/ts_perf.cpp
+55
-3
global_motion.cpp
modules/videostab/src/global_motion.cpp
+1
-1
No files found.
modules/gpu/perf/main.cpp
deleted
100644 → 0
View file @
e80cbbb1
#include "perf_precomp.hpp"
using
namespace
std
;
using
namespace
cv
;
using
namespace
cv
::
gpu
;
using
namespace
cvtest
;
using
namespace
testing
;
void
printOsInfo
()
{
#if defined _WIN32
# if defined _WIN64
cout
<<
"OS: Windows x64
\n
"
<<
endl
;
# else
cout
<<
"OS: Windows x32
\n
"
<<
endl
;
# endif
#elif defined linux
# if defined _LP64
cout
<<
"OS: Linux x64
\n
"
<<
endl
;
# else
cout
<<
"OS: Linux x32
\n
"
<<
endl
;
# endif
#elif defined __APPLE__
# if defined _LP64
cout
<<
"OS: Apple x64
\n
"
<<
endl
;
# else
cout
<<
"OS: Apple x32
\n
"
<<
endl
;
# endif
#endif
}
void
printCudaInfo
()
{
#if !defined HAVE_CUDA || defined(CUDA_DISABLER)
cout
<<
"OpenCV was built without CUDA support
\n
"
<<
endl
;
#else
int
driver
;
cudaDriverGetVersion
(
&
driver
);
cout
<<
"CUDA Driver version: "
<<
driver
<<
'\n'
;
cout
<<
"CUDA Runtime version: "
<<
CUDART_VERSION
<<
'\n'
;
cout
<<
endl
;
cout
<<
"GPU module was compiled for the following GPU archs:"
<<
endl
;
cout
<<
" BIN: "
<<
CUDA_ARCH_BIN
<<
'\n'
;
cout
<<
" PTX: "
<<
CUDA_ARCH_PTX
<<
'\n'
;
cout
<<
endl
;
int
deviceCount
=
getCudaEnabledDeviceCount
();
cout
<<
"CUDA device count: "
<<
deviceCount
<<
'\n'
;
cout
<<
endl
;
for
(
int
i
=
0
;
i
<
deviceCount
;
++
i
)
{
DeviceInfo
info
(
i
);
cout
<<
"Device ["
<<
i
<<
"]
\n
"
;
cout
<<
"
\t
Name: "
<<
info
.
name
()
<<
'\n'
;
cout
<<
"
\t
Compute capability: "
<<
info
.
majorVersion
()
<<
'.'
<<
info
.
minorVersion
()
<<
'\n'
;
cout
<<
"
\t
Multi Processor Count: "
<<
info
.
multiProcessorCount
()
<<
'\n'
;
cout
<<
"
\t
Total memory: "
<<
static_cast
<
int
>
(
static_cast
<
int
>
(
info
.
totalMemory
()
/
1024.0
)
/
1024.0
)
<<
" Mb
\n
"
;
cout
<<
"
\t
Free memory: "
<<
static_cast
<
int
>
(
static_cast
<
int
>
(
info
.
freeMemory
()
/
1024.0
)
/
1024.0
)
<<
" Mb
\n
"
;
if
(
!
info
.
isCompatible
())
cout
<<
"
\t
!!! This device is NOT compatible with current GPU module build
\n
"
;
cout
<<
endl
;
}
#endif
}
int
main
(
int
argc
,
char
**
argv
)
{
const
std
::
string
keys
=
"{ h help ? | | Print help}"
"{ i info | | Print information about system and exit }"
"{ device | 0 | Device on which tests will be executed }"
"{ cpu | | Run tests on cpu }"
;
CommandLineParser
cmd
(
argc
,
(
const
char
**
)
argv
,
keys
);
if
(
cmd
.
has
(
"help"
))
{
cmd
.
printMessage
();
return
0
;
}
printOsInfo
();
printCudaInfo
();
if
(
cmd
.
has
(
"info"
))
{
return
0
;
}
int
device
=
cmd
.
get
<
int
>
(
"device"
);
bool
cpu
=
cmd
.
has
(
"cpu"
);
#if !defined HAVE_CUDA || defined(CUDA_DISABLER)
cpu
=
true
;
#endif
if
(
cpu
)
{
runOnGpu
=
false
;
cout
<<
"Run tests on CPU
\n
"
<<
endl
;
}
else
{
runOnGpu
=
true
;
if
(
device
<
0
||
device
>=
getCudaEnabledDeviceCount
())
{
cerr
<<
"Incorrect device index - "
<<
device
<<
endl
;
return
-
1
;
}
DeviceInfo
info
(
device
);
if
(
!
info
.
isCompatible
())
{
cerr
<<
"Device "
<<
device
<<
" ["
<<
info
.
name
()
<<
"] is NOT compatible with current GPU module build"
<<
endl
;
return
-
1
;
}
setDevice
(
device
);
cout
<<
"Run tests on device "
<<
device
<<
" ["
<<
info
.
name
()
<<
"]
\n
"
<<
endl
;
}
InitGoogleTest
(
&
argc
,
argv
);
perf
::
TestBase
::
Init
(
argc
,
argv
);
return
RUN_ALL_TESTS
();
}
modules/gpu/perf/perf_calib3d.cpp
View file @
9368aa9f
...
@@ -24,7 +24,7 @@ PERF_TEST_P(ImagePair, Calib3D_StereoBM, Values(pair_string("gpu/perf/aloe.png",
...
@@ -24,7 +24,7 @@ PERF_TEST_P(ImagePair, Calib3D_StereoBM, Values(pair_string("gpu/perf/aloe.png",
const
int
preset
=
0
;
const
int
preset
=
0
;
const
int
ndisp
=
256
;
const
int
ndisp
=
256
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
StereoBM_GPU
d_bm
(
preset
,
ndisp
);
cv
::
gpu
::
StereoBM_GPU
d_bm
(
preset
,
ndisp
);
...
@@ -38,6 +38,8 @@ PERF_TEST_P(ImagePair, Calib3D_StereoBM, Values(pair_string("gpu/perf/aloe.png",
...
@@ -38,6 +38,8 @@ PERF_TEST_P(ImagePair, Calib3D_StereoBM, Values(pair_string("gpu/perf/aloe.png",
{
{
d_bm
(
d_imgLeft
,
d_imgRight
,
d_dst
);
d_bm
(
d_imgLeft
,
d_imgRight
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -51,6 +53,8 @@ PERF_TEST_P(ImagePair, Calib3D_StereoBM, Values(pair_string("gpu/perf/aloe.png",
...
@@ -51,6 +53,8 @@ PERF_TEST_P(ImagePair, Calib3D_StereoBM, Values(pair_string("gpu/perf/aloe.png",
{
{
bm
(
imgLeft
,
imgRight
,
dst
);
bm
(
imgLeft
,
imgRight
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -69,7 +73,7 @@ PERF_TEST_P(ImagePair, Calib3D_StereoBeliefPropagation, Values(pair_string("gpu/
...
@@ -69,7 +73,7 @@ PERF_TEST_P(ImagePair, Calib3D_StereoBeliefPropagation, Values(pair_string("gpu/
const
int
ndisp
=
64
;
const
int
ndisp
=
64
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
StereoBeliefPropagation
d_bp
(
ndisp
);
cv
::
gpu
::
StereoBeliefPropagation
d_bp
(
ndisp
);
...
@@ -83,10 +87,12 @@ PERF_TEST_P(ImagePair, Calib3D_StereoBeliefPropagation, Values(pair_string("gpu/
...
@@ -83,10 +87,12 @@ PERF_TEST_P(ImagePair, Calib3D_StereoBeliefPropagation, Values(pair_string("gpu/
{
{
d_bp
(
d_imgLeft
,
d_imgRight
,
d_dst
);
d_bp
(
d_imgLeft
,
d_imgRight
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy."
;
}
}
}
}
...
@@ -105,7 +111,7 @@ PERF_TEST_P(ImagePair, Calib3D_StereoConstantSpaceBP, Values(pair_string("gpu/st
...
@@ -105,7 +111,7 @@ PERF_TEST_P(ImagePair, Calib3D_StereoConstantSpaceBP, Values(pair_string("gpu/st
const
int
ndisp
=
128
;
const
int
ndisp
=
128
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
StereoConstantSpaceBP
d_csbp
(
ndisp
);
cv
::
gpu
::
StereoConstantSpaceBP
d_csbp
(
ndisp
);
...
@@ -119,10 +125,12 @@ PERF_TEST_P(ImagePair, Calib3D_StereoConstantSpaceBP, Values(pair_string("gpu/st
...
@@ -119,10 +125,12 @@ PERF_TEST_P(ImagePair, Calib3D_StereoConstantSpaceBP, Values(pair_string("gpu/st
{
{
d_csbp
(
d_imgLeft
,
d_imgRight
,
d_dst
);
d_csbp
(
d_imgLeft
,
d_imgRight
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy."
;
}
}
}
}
...
@@ -139,7 +147,7 @@ PERF_TEST_P(ImagePair, Calib3D_DisparityBilateralFilter, Values(pair_string("gpu
...
@@ -139,7 +147,7 @@ PERF_TEST_P(ImagePair, Calib3D_DisparityBilateralFilter, Values(pair_string("gpu
const
int
ndisp
=
128
;
const
int
ndisp
=
128
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
DisparityBilateralFilter
d_filter
(
ndisp
);
cv
::
gpu
::
DisparityBilateralFilter
d_filter
(
ndisp
);
...
@@ -153,10 +161,12 @@ PERF_TEST_P(ImagePair, Calib3D_DisparityBilateralFilter, Values(pair_string("gpu
...
@@ -153,10 +161,12 @@ PERF_TEST_P(ImagePair, Calib3D_DisparityBilateralFilter, Values(pair_string("gpu
{
{
d_filter
(
d_disp
,
d_img
,
d_dst
);
d_filter
(
d_disp
,
d_img
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy."
;
}
}
}
}
...
@@ -175,7 +185,7 @@ PERF_TEST_P(Count, Calib3D_TransformPoints, Values(5000, 10000, 20000))
...
@@ -175,7 +185,7 @@ PERF_TEST_P(Count, Calib3D_TransformPoints, Values(5000, 10000, 20000))
const
cv
::
Mat
rvec
=
cv
::
Mat
::
ones
(
1
,
3
,
CV_32FC1
);
const
cv
::
Mat
rvec
=
cv
::
Mat
::
ones
(
1
,
3
,
CV_32FC1
);
const
cv
::
Mat
tvec
=
cv
::
Mat
::
ones
(
1
,
3
,
CV_32FC1
);
const
cv
::
Mat
tvec
=
cv
::
Mat
::
ones
(
1
,
3
,
CV_32FC1
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -186,10 +196,12 @@ PERF_TEST_P(Count, Calib3D_TransformPoints, Values(5000, 10000, 20000))
...
@@ -186,10 +196,12 @@ PERF_TEST_P(Count, Calib3D_TransformPoints, Values(5000, 10000, 20000))
{
{
cv
::
gpu
::
transformPoints
(
d_src
,
rvec
,
tvec
,
d_dst
);
cv
::
gpu
::
transformPoints
(
d_src
,
rvec
,
tvec
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy."
;
}
}
}
}
...
@@ -207,7 +219,7 @@ PERF_TEST_P(Count, Calib3D_ProjectPoints, Values(5000, 10000, 20000))
...
@@ -207,7 +219,7 @@ PERF_TEST_P(Count, Calib3D_ProjectPoints, Values(5000, 10000, 20000))
const
cv
::
Mat
tvec
=
cv
::
Mat
::
ones
(
1
,
3
,
CV_32FC1
);
const
cv
::
Mat
tvec
=
cv
::
Mat
::
ones
(
1
,
3
,
CV_32FC1
);
const
cv
::
Mat
camera_mat
=
cv
::
Mat
::
ones
(
3
,
3
,
CV_32FC1
);
const
cv
::
Mat
camera_mat
=
cv
::
Mat
::
ones
(
3
,
3
,
CV_32FC1
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -218,6 +230,8 @@ PERF_TEST_P(Count, Calib3D_ProjectPoints, Values(5000, 10000, 20000))
...
@@ -218,6 +230,8 @@ PERF_TEST_P(Count, Calib3D_ProjectPoints, Values(5000, 10000, 20000))
{
{
cv
::
gpu
::
projectPoints
(
d_src
,
rvec
,
tvec
,
camera_mat
,
cv
::
Mat
(),
d_dst
);
cv
::
gpu
::
projectPoints
(
d_src
,
rvec
,
tvec
,
camera_mat
,
cv
::
Mat
(),
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -229,6 +243,8 @@ PERF_TEST_P(Count, Calib3D_ProjectPoints, Values(5000, 10000, 20000))
...
@@ -229,6 +243,8 @@ PERF_TEST_P(Count, Calib3D_ProjectPoints, Values(5000, 10000, 20000))
{
{
cv
::
projectPoints
(
src
,
rvec
,
tvec
,
camera_mat
,
cv
::
noArray
(),
dst
);
cv
::
projectPoints
(
src
,
rvec
,
tvec
,
camera_mat
,
cv
::
noArray
(),
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -265,7 +281,7 @@ PERF_TEST_P(Count, Calib3D_SolvePnPRansac, Values(5000, 10000, 20000))
...
@@ -265,7 +281,7 @@ PERF_TEST_P(Count, Calib3D_SolvePnPRansac, Values(5000, 10000, 20000))
cv
::
Mat
rvec
;
cv
::
Mat
rvec
;
cv
::
Mat
tvec
;
cv
::
Mat
tvec
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
solvePnPRansac
(
object
,
image
,
camera_mat
,
dist_coef
,
rvec
,
tvec
);
cv
::
gpu
::
solvePnPRansac
(
object
,
image
,
camera_mat
,
dist_coef
,
rvec
,
tvec
);
...
@@ -283,6 +299,9 @@ PERF_TEST_P(Count, Calib3D_SolvePnPRansac, Values(5000, 10000, 20000))
...
@@ -283,6 +299,9 @@ PERF_TEST_P(Count, Calib3D_SolvePnPRansac, Values(5000, 10000, 20000))
cv
::
solvePnPRansac
(
object
,
image
,
camera_mat
,
dist_coef
,
rvec
,
tvec
);
cv
::
solvePnPRansac
(
object
,
image
,
camera_mat
,
dist_coef
,
rvec
,
tvec
);
}
}
}
}
CPU_SANITY_CHECK
(
rvec
);
CPU_SANITY_CHECK
(
tvec
);
}
}
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
...
@@ -299,7 +318,7 @@ PERF_TEST_P(Sz_Depth, Calib3D_ReprojectImageTo3D, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -299,7 +318,7 @@ PERF_TEST_P(Sz_Depth, Calib3D_ReprojectImageTo3D, Combine(GPU_TYPICAL_MAT_SIZES,
cv
::
Mat
Q
(
4
,
4
,
CV_32FC1
);
cv
::
Mat
Q
(
4
,
4
,
CV_32FC1
);
fillRandom
(
Q
,
0.1
,
1.0
);
fillRandom
(
Q
,
0.1
,
1.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -310,6 +329,8 @@ PERF_TEST_P(Sz_Depth, Calib3D_ReprojectImageTo3D, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -310,6 +329,8 @@ PERF_TEST_P(Sz_Depth, Calib3D_ReprojectImageTo3D, Combine(GPU_TYPICAL_MAT_SIZES,
{
{
cv
::
gpu
::
reprojectImageTo3D
(
d_src
,
d_dst
,
Q
);
cv
::
gpu
::
reprojectImageTo3D
(
d_src
,
d_dst
,
Q
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -321,6 +342,8 @@ PERF_TEST_P(Sz_Depth, Calib3D_ReprojectImageTo3D, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -321,6 +342,8 @@ PERF_TEST_P(Sz_Depth, Calib3D_ReprojectImageTo3D, Combine(GPU_TYPICAL_MAT_SIZES,
{
{
cv
::
reprojectImageTo3D
(
src
,
dst
,
Q
);
cv
::
reprojectImageTo3D
(
src
,
dst
,
Q
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -335,7 +358,7 @@ PERF_TEST_P(Sz_Depth, Calib3D_DrawColorDisp, Combine(GPU_TYPICAL_MAT_SIZES, Valu
...
@@ -335,7 +358,7 @@ PERF_TEST_P(Sz_Depth, Calib3D_DrawColorDisp, Combine(GPU_TYPICAL_MAT_SIZES, Valu
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
,
0
,
255
);
fillRandom
(
src
,
0
,
255
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -346,10 +369,12 @@ PERF_TEST_P(Sz_Depth, Calib3D_DrawColorDisp, Combine(GPU_TYPICAL_MAT_SIZES, Valu
...
@@ -346,10 +369,12 @@ PERF_TEST_P(Sz_Depth, Calib3D_DrawColorDisp, Combine(GPU_TYPICAL_MAT_SIZES, Valu
{
{
cv
::
gpu
::
drawColorDisp
(
d_src
,
d_dst
,
255
);
cv
::
gpu
::
drawColorDisp
(
d_src
,
d_dst
,
255
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy."
;
}
}
}
}
...
...
modules/gpu/perf/perf_core.cpp
View file @
9368aa9f
...
@@ -20,7 +20,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Merge, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
...
@@ -20,7 +20,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Merge, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
for
(
int
i
=
0
;
i
<
channels
;
++
i
)
for
(
int
i
=
0
;
i
<
channels
;
++
i
)
src
[
i
]
=
cv
::
Mat
(
size
,
depth
,
cv
::
Scalar
::
all
(
i
));
src
[
i
]
=
cv
::
Mat
(
size
,
depth
,
cv
::
Scalar
::
all
(
i
));
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
std
::
vector
<
cv
::
gpu
::
GpuMat
>
d_src
(
channels
);
std
::
vector
<
cv
::
gpu
::
GpuMat
>
d_src
(
channels
);
for
(
int
i
=
0
;
i
<
channels
;
++
i
)
for
(
int
i
=
0
;
i
<
channels
;
++
i
)
...
@@ -34,6 +34,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Merge, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
...
@@ -34,6 +34,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Merge, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
{
{
cv
::
gpu
::
merge
(
d_src
,
d_dst
);
cv
::
gpu
::
merge
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -45,6 +47,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Merge, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
...
@@ -45,6 +47,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Merge, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
{
{
cv
::
merge
(
src
,
dst
);
cv
::
merge
(
src
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -59,7 +63,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Split, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
...
@@ -59,7 +63,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Split, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
cv
::
Mat
src
(
size
,
CV_MAKE_TYPE
(
depth
,
channels
),
cv
::
Scalar
(
1
,
2
,
3
,
4
));
cv
::
Mat
src
(
size
,
CV_MAKE_TYPE
(
depth
,
channels
),
cv
::
Scalar
(
1
,
2
,
3
,
4
));
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
...
@@ -71,6 +75,9 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Split, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
...
@@ -71,6 +75,9 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Split, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
{
{
cv
::
gpu
::
split
(
d_src
,
d_dst
);
cv
::
gpu
::
split
(
d_src
,
d_dst
);
}
}
cv
::
gpu
::
GpuMat
first
=
d_dst
[
0
];
GPU_SANITY_CHECK
(
first
);
}
}
else
else
{
{
...
@@ -82,6 +89,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Split, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
...
@@ -82,6 +89,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Split, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
{
{
cv
::
split
(
src
,
dst
);
cv
::
split
(
src
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -99,7 +108,7 @@ PERF_TEST_P(Sz_Depth, Core_AddMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_DEP
...
@@ -99,7 +108,7 @@ PERF_TEST_P(Sz_Depth, Core_AddMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_DEP
cv
::
Mat
src2
(
size
,
depth
);
cv
::
Mat
src2
(
size
,
depth
);
fillRandom
(
src2
);
fillRandom
(
src2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -111,6 +120,8 @@ PERF_TEST_P(Sz_Depth, Core_AddMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_DEP
...
@@ -111,6 +120,8 @@ PERF_TEST_P(Sz_Depth, Core_AddMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_DEP
{
{
cv
::
gpu
::
add
(
d_src1
,
d_src2
,
d_dst
);
cv
::
gpu
::
add
(
d_src1
,
d_src2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -122,6 +133,8 @@ PERF_TEST_P(Sz_Depth, Core_AddMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_DEP
...
@@ -122,6 +133,8 @@ PERF_TEST_P(Sz_Depth, Core_AddMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_DEP
{
{
cv
::
add
(
src1
,
src2
,
dst
);
cv
::
add
(
src1
,
src2
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -138,7 +151,7 @@ PERF_TEST_P(Sz_Depth, Core_AddScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
...
@@ -138,7 +151,7 @@ PERF_TEST_P(Sz_Depth, Core_AddScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
cv
::
Scalar
s
(
1
,
2
,
3
,
4
);
cv
::
Scalar
s
(
1
,
2
,
3
,
4
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -149,6 +162,8 @@ PERF_TEST_P(Sz_Depth, Core_AddScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
...
@@ -149,6 +162,8 @@ PERF_TEST_P(Sz_Depth, Core_AddScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
{
{
cv
::
gpu
::
add
(
d_src
,
s
,
d_dst
);
cv
::
gpu
::
add
(
d_src
,
s
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -160,6 +175,8 @@ PERF_TEST_P(Sz_Depth, Core_AddScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
...
@@ -160,6 +175,8 @@ PERF_TEST_P(Sz_Depth, Core_AddScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
{
{
cv
::
add
(
src
,
s
,
dst
);
cv
::
add
(
src
,
s
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -177,7 +194,7 @@ PERF_TEST_P(Sz_Depth, Core_SubtractMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
...
@@ -177,7 +194,7 @@ PERF_TEST_P(Sz_Depth, Core_SubtractMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
cv
::
Mat
src2
(
size
,
depth
);
cv
::
Mat
src2
(
size
,
depth
);
fillRandom
(
src2
);
fillRandom
(
src2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -189,6 +206,8 @@ PERF_TEST_P(Sz_Depth, Core_SubtractMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
...
@@ -189,6 +206,8 @@ PERF_TEST_P(Sz_Depth, Core_SubtractMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
{
{
cv
::
gpu
::
subtract
(
d_src1
,
d_src2
,
d_dst
);
cv
::
gpu
::
subtract
(
d_src1
,
d_src2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -200,6 +219,8 @@ PERF_TEST_P(Sz_Depth, Core_SubtractMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
...
@@ -200,6 +219,8 @@ PERF_TEST_P(Sz_Depth, Core_SubtractMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
{
{
cv
::
subtract
(
src1
,
src2
,
dst
);
cv
::
subtract
(
src1
,
src2
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -216,7 +237,7 @@ PERF_TEST_P(Sz_Depth, Core_SubtractScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
...
@@ -216,7 +237,7 @@ PERF_TEST_P(Sz_Depth, Core_SubtractScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
cv
::
Scalar
s
(
1
,
2
,
3
,
4
);
cv
::
Scalar
s
(
1
,
2
,
3
,
4
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -227,6 +248,8 @@ PERF_TEST_P(Sz_Depth, Core_SubtractScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
...
@@ -227,6 +248,8 @@ PERF_TEST_P(Sz_Depth, Core_SubtractScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
{
{
cv
::
gpu
::
subtract
(
d_src
,
s
,
d_dst
);
cv
::
gpu
::
subtract
(
d_src
,
s
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -238,6 +261,8 @@ PERF_TEST_P(Sz_Depth, Core_SubtractScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
...
@@ -238,6 +261,8 @@ PERF_TEST_P(Sz_Depth, Core_SubtractScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
{
{
cv
::
subtract
(
src
,
s
,
dst
);
cv
::
subtract
(
src
,
s
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -255,7 +280,7 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
...
@@ -255,7 +280,7 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
cv
::
Mat
src2
(
size
,
depth
);
cv
::
Mat
src2
(
size
,
depth
);
fillRandom
(
src2
);
fillRandom
(
src2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -267,6 +292,8 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
...
@@ -267,6 +292,8 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
{
{
cv
::
gpu
::
multiply
(
d_src1
,
d_src2
,
d_dst
);
cv
::
gpu
::
multiply
(
d_src1
,
d_src2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -278,6 +305,8 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
...
@@ -278,6 +305,8 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
{
{
cv
::
multiply
(
src1
,
src2
,
dst
);
cv
::
multiply
(
src1
,
src2
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -294,7 +323,7 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
...
@@ -294,7 +323,7 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
cv
::
Scalar
s
(
1
,
2
,
3
,
4
);
cv
::
Scalar
s
(
1
,
2
,
3
,
4
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -305,6 +334,8 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
...
@@ -305,6 +334,8 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
{
{
cv
::
gpu
::
multiply
(
d_src
,
s
,
d_dst
);
cv
::
gpu
::
multiply
(
d_src
,
s
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -316,6 +347,8 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
...
@@ -316,6 +347,8 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
{
{
cv
::
multiply
(
src
,
s
,
dst
);
cv
::
multiply
(
src
,
s
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -333,7 +366,7 @@ PERF_TEST_P(Sz_Depth, Core_DivideMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
...
@@ -333,7 +366,7 @@ PERF_TEST_P(Sz_Depth, Core_DivideMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
cv
::
Mat
src2
(
size
,
depth
);
cv
::
Mat
src2
(
size
,
depth
);
fillRandom
(
src2
);
fillRandom
(
src2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -345,6 +378,8 @@ PERF_TEST_P(Sz_Depth, Core_DivideMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
...
@@ -345,6 +378,8 @@ PERF_TEST_P(Sz_Depth, Core_DivideMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
{
{
cv
::
gpu
::
divide
(
d_src1
,
d_src2
,
d_dst
);
cv
::
gpu
::
divide
(
d_src1
,
d_src2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -356,6 +391,8 @@ PERF_TEST_P(Sz_Depth, Core_DivideMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
...
@@ -356,6 +391,8 @@ PERF_TEST_P(Sz_Depth, Core_DivideMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
{
{
cv
::
divide
(
src1
,
src2
,
dst
);
cv
::
divide
(
src1
,
src2
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -372,7 +409,7 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_M
...
@@ -372,7 +409,7 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_M
cv
::
Scalar
s
(
1
,
2
,
3
,
4
);
cv
::
Scalar
s
(
1
,
2
,
3
,
4
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -383,6 +420,8 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_M
...
@@ -383,6 +420,8 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_M
{
{
cv
::
gpu
::
divide
(
d_src
,
s
,
d_dst
);
cv
::
gpu
::
divide
(
d_src
,
s
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -394,6 +433,8 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_M
...
@@ -394,6 +433,8 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_M
{
{
cv
::
divide
(
src
,
s
,
dst
);
cv
::
divide
(
src
,
s
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -410,7 +451,7 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalarInv, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
...
@@ -410,7 +451,7 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalarInv, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
double
s
=
100.0
;
double
s
=
100.0
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -421,6 +462,8 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalarInv, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
...
@@ -421,6 +462,8 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalarInv, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
{
{
cv
::
gpu
::
divide
(
s
,
d_src
,
d_dst
);
cv
::
gpu
::
divide
(
s
,
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -432,6 +475,8 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalarInv, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
...
@@ -432,6 +475,8 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalarInv, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
{
{
cv
::
divide
(
s
,
src
,
dst
);
cv
::
divide
(
s
,
src
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -449,7 +494,7 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT
...
@@ -449,7 +494,7 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT
cv
::
Mat
src2
(
size
,
depth
);
cv
::
Mat
src2
(
size
,
depth
);
fillRandom
(
src2
);
fillRandom
(
src2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -461,6 +506,8 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT
...
@@ -461,6 +506,8 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT
{
{
cv
::
gpu
::
absdiff
(
d_src1
,
d_src2
,
d_dst
);
cv
::
gpu
::
absdiff
(
d_src1
,
d_src2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -472,6 +519,8 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT
...
@@ -472,6 +519,8 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT
{
{
cv
::
absdiff
(
src1
,
src2
,
dst
);
cv
::
absdiff
(
src1
,
src2
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -488,7 +537,7 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_
...
@@ -488,7 +537,7 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_
cv
::
Scalar
s
(
1
,
2
,
3
,
4
);
cv
::
Scalar
s
(
1
,
2
,
3
,
4
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -499,6 +548,8 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_
...
@@ -499,6 +548,8 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_
{
{
cv
::
gpu
::
absdiff
(
d_src
,
s
,
d_dst
);
cv
::
gpu
::
absdiff
(
d_src
,
s
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -510,6 +561,8 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_
...
@@ -510,6 +561,8 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_
{
{
cv
::
absdiff
(
src
,
s
,
dst
);
cv
::
absdiff
(
src
,
s
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -524,7 +577,7 @@ PERF_TEST_P(Sz_Depth, Core_Abs, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_16S, CV
...
@@ -524,7 +577,7 @@ PERF_TEST_P(Sz_Depth, Core_Abs, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_16S, CV
cv
::
Mat
src
(
size
,
depth
);
cv
::
Mat
src
(
size
,
depth
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -535,10 +588,12 @@ PERF_TEST_P(Sz_Depth, Core_Abs, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_16S, CV
...
@@ -535,10 +588,12 @@ PERF_TEST_P(Sz_Depth, Core_Abs, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_16S, CV
{
{
cv
::
gpu
::
abs
(
d_src
,
d_dst
);
cv
::
gpu
::
abs
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -553,7 +608,7 @@ PERF_TEST_P(Sz_Depth, Core_Sqr, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
...
@@ -553,7 +608,7 @@ PERF_TEST_P(Sz_Depth, Core_Sqr, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
cv
::
Mat
src
(
size
,
depth
);
cv
::
Mat
src
(
size
,
depth
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -564,10 +619,12 @@ PERF_TEST_P(Sz_Depth, Core_Sqr, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
...
@@ -564,10 +619,12 @@ PERF_TEST_P(Sz_Depth, Core_Sqr, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
{
{
cv
::
gpu
::
sqr
(
d_src
,
d_dst
);
cv
::
gpu
::
sqr
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -582,7 +639,7 @@ PERF_TEST_P(Sz_Depth, Core_Sqrt, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV
...
@@ -582,7 +639,7 @@ PERF_TEST_P(Sz_Depth, Core_Sqrt, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV
cv
::
Mat
src
(
size
,
depth
);
cv
::
Mat
src
(
size
,
depth
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -593,6 +650,8 @@ PERF_TEST_P(Sz_Depth, Core_Sqrt, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV
...
@@ -593,6 +650,8 @@ PERF_TEST_P(Sz_Depth, Core_Sqrt, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV
{
{
cv
::
gpu
::
sqrt
(
d_src
,
d_dst
);
cv
::
gpu
::
sqrt
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -604,6 +663,8 @@ PERF_TEST_P(Sz_Depth, Core_Sqrt, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV
...
@@ -604,6 +663,8 @@ PERF_TEST_P(Sz_Depth, Core_Sqrt, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV
{
{
cv
::
sqrt
(
src
,
dst
);
cv
::
sqrt
(
src
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -618,7 +679,7 @@ PERF_TEST_P(Sz_Depth, Core_Log, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
...
@@ -618,7 +679,7 @@ PERF_TEST_P(Sz_Depth, Core_Log, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
cv
::
Mat
src
(
size
,
depth
);
cv
::
Mat
src
(
size
,
depth
);
fillRandom
(
src
,
1.0
,
255.0
);
fillRandom
(
src
,
1.0
,
255.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -629,6 +690,8 @@ PERF_TEST_P(Sz_Depth, Core_Log, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
...
@@ -629,6 +690,8 @@ PERF_TEST_P(Sz_Depth, Core_Log, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
{
{
cv
::
gpu
::
log
(
d_src
,
d_dst
);
cv
::
gpu
::
log
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -640,6 +703,8 @@ PERF_TEST_P(Sz_Depth, Core_Log, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
...
@@ -640,6 +703,8 @@ PERF_TEST_P(Sz_Depth, Core_Log, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
{
{
cv
::
log
(
src
,
dst
);
cv
::
log
(
src
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -654,7 +719,7 @@ PERF_TEST_P(Sz_Depth, Core_Exp, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
...
@@ -654,7 +719,7 @@ PERF_TEST_P(Sz_Depth, Core_Exp, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
cv
::
Mat
src
(
size
,
depth
);
cv
::
Mat
src
(
size
,
depth
);
fillRandom
(
src
,
1.0
,
10.0
);
fillRandom
(
src
,
1.0
,
10.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -665,6 +730,8 @@ PERF_TEST_P(Sz_Depth, Core_Exp, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
...
@@ -665,6 +730,8 @@ PERF_TEST_P(Sz_Depth, Core_Exp, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
{
{
cv
::
gpu
::
exp
(
d_src
,
d_dst
);
cv
::
gpu
::
exp
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -676,6 +743,8 @@ PERF_TEST_P(Sz_Depth, Core_Exp, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
...
@@ -676,6 +743,8 @@ PERF_TEST_P(Sz_Depth, Core_Exp, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
{
{
cv
::
exp
(
src
,
dst
);
cv
::
exp
(
src
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -693,7 +762,7 @@ PERF_TEST_P(Sz_Depth_Power, Core_Pow, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -693,7 +762,7 @@ PERF_TEST_P(Sz_Depth_Power, Core_Pow, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
cv
::
Mat
src
(
size
,
depth
);
cv
::
Mat
src
(
size
,
depth
);
fillRandom
(
src
,
1.0
,
10.0
);
fillRandom
(
src
,
1.0
,
10.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -704,6 +773,8 @@ PERF_TEST_P(Sz_Depth_Power, Core_Pow, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -704,6 +773,8 @@ PERF_TEST_P(Sz_Depth_Power, Core_Pow, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
{
{
cv
::
gpu
::
pow
(
d_src
,
power
,
d_dst
);
cv
::
gpu
::
pow
(
d_src
,
power
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -715,6 +786,8 @@ PERF_TEST_P(Sz_Depth_Power, Core_Pow, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -715,6 +786,8 @@ PERF_TEST_P(Sz_Depth_Power, Core_Pow, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
{
{
cv
::
pow
(
src
,
power
,
dst
);
cv
::
pow
(
src
,
power
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -738,7 +811,7 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
...
@@ -738,7 +811,7 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
cv
::
Mat
src2
(
size
,
depth
);
cv
::
Mat
src2
(
size
,
depth
);
fillRandom
(
src2
);
fillRandom
(
src2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -750,6 +823,8 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
...
@@ -750,6 +823,8 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
{
{
cv
::
gpu
::
compare
(
d_src1
,
d_src2
,
d_dst
,
cmp_code
);
cv
::
gpu
::
compare
(
d_src1
,
d_src2
,
d_dst
,
cmp_code
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -761,6 +836,8 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
...
@@ -761,6 +836,8 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
{
{
cv
::
compare
(
src1
,
src2
,
dst
,
cmp_code
);
cv
::
compare
(
src1
,
src2
,
dst
,
cmp_code
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -778,7 +855,7 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareScalar, Combine(GPU_TYPICAL_MAT_SIZES, AR
...
@@ -778,7 +855,7 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareScalar, Combine(GPU_TYPICAL_MAT_SIZES, AR
cv
::
Scalar
s
=
cv
::
Scalar
::
all
(
100
);
cv
::
Scalar
s
=
cv
::
Scalar
::
all
(
100
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -789,6 +866,8 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareScalar, Combine(GPU_TYPICAL_MAT_SIZES, AR
...
@@ -789,6 +866,8 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareScalar, Combine(GPU_TYPICAL_MAT_SIZES, AR
{
{
cv
::
gpu
::
compare
(
d_src
,
s
,
d_dst
,
cmp_code
);
cv
::
gpu
::
compare
(
d_src
,
s
,
d_dst
,
cmp_code
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -800,6 +879,8 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareScalar, Combine(GPU_TYPICAL_MAT_SIZES, AR
...
@@ -800,6 +879,8 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareScalar, Combine(GPU_TYPICAL_MAT_SIZES, AR
{
{
cv
::
compare
(
src
,
s
,
dst
,
cmp_code
);
cv
::
compare
(
src
,
s
,
dst
,
cmp_code
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -814,7 +895,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseNot, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_
...
@@ -814,7 +895,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseNot, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_
cv
::
Mat
src
(
size
,
depth
);
cv
::
Mat
src
(
size
,
depth
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -825,6 +906,8 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseNot, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_
...
@@ -825,6 +906,8 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseNot, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_
{
{
cv
::
gpu
::
bitwise_not
(
d_src
,
d_dst
);
cv
::
gpu
::
bitwise_not
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -836,6 +919,8 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseNot, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_
...
@@ -836,6 +919,8 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseNot, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_
{
{
cv
::
bitwise_not
(
src
,
dst
);
cv
::
bitwise_not
(
src
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -853,7 +938,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseAndMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(
...
@@ -853,7 +938,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseAndMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(
cv
::
Mat
src2
(
size
,
depth
);
cv
::
Mat
src2
(
size
,
depth
);
fillRandom
(
src2
);
fillRandom
(
src2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -865,6 +950,8 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseAndMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(
...
@@ -865,6 +950,8 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseAndMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(
{
{
cv
::
gpu
::
bitwise_and
(
d_src1
,
d_src2
,
d_dst
);
cv
::
gpu
::
bitwise_and
(
d_src1
,
d_src2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -895,7 +982,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseAndScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
...
@@ -895,7 +982,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseAndScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
cv
::
Scalar
s
=
cv
::
Scalar
::
all
(
100
);
cv
::
Scalar
s
=
cv
::
Scalar
::
all
(
100
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -906,6 +993,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseAndScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
...
@@ -906,6 +993,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseAndScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
{
{
cv
::
gpu
::
bitwise_and
(
d_src
,
s
,
d_dst
);
cv
::
gpu
::
bitwise_and
(
d_src
,
s
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -917,6 +1006,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseAndScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
...
@@ -917,6 +1006,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseAndScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
{
{
cv
::
bitwise_and
(
src
,
s
,
dst
);
cv
::
bitwise_and
(
src
,
s
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -934,7 +1025,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseOrMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(C
...
@@ -934,7 +1025,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseOrMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(C
cv
::
Mat
src2
(
size
,
depth
);
cv
::
Mat
src2
(
size
,
depth
);
fillRandom
(
src2
);
fillRandom
(
src2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -946,6 +1037,8 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseOrMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(C
...
@@ -946,6 +1037,8 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseOrMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(C
{
{
cv
::
gpu
::
bitwise_or
(
d_src1
,
d_src2
,
d_dst
);
cv
::
gpu
::
bitwise_or
(
d_src1
,
d_src2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -957,6 +1050,8 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseOrMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(C
...
@@ -957,6 +1050,8 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseOrMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(C
{
{
cv
::
bitwise_or
(
src1
,
src2
,
dst
);
cv
::
bitwise_or
(
src1
,
src2
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -976,7 +1071,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseOrScalar, Combine(GPU_TYPICAL_MAT_SIZES, Va
...
@@ -976,7 +1071,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseOrScalar, Combine(GPU_TYPICAL_MAT_SIZES, Va
cv
::
Scalar
s
=
cv
::
Scalar
::
all
(
100
);
cv
::
Scalar
s
=
cv
::
Scalar
::
all
(
100
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -987,6 +1082,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseOrScalar, Combine(GPU_TYPICAL_MAT_SIZES, Va
...
@@ -987,6 +1082,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseOrScalar, Combine(GPU_TYPICAL_MAT_SIZES, Va
{
{
cv
::
gpu
::
bitwise_or
(
d_src
,
s
,
d_dst
);
cv
::
gpu
::
bitwise_or
(
d_src
,
s
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -998,6 +1095,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseOrScalar, Combine(GPU_TYPICAL_MAT_SIZES, Va
...
@@ -998,6 +1095,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseOrScalar, Combine(GPU_TYPICAL_MAT_SIZES, Va
{
{
cv
::
bitwise_or
(
src
,
s
,
dst
);
cv
::
bitwise_or
(
src
,
s
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1015,7 +1114,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseXorMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(
...
@@ -1015,7 +1114,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseXorMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(
cv
::
Mat
src2
(
size
,
depth
);
cv
::
Mat
src2
(
size
,
depth
);
fillRandom
(
src2
);
fillRandom
(
src2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -1027,6 +1126,8 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseXorMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(
...
@@ -1027,6 +1126,8 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseXorMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(
{
{
cv
::
gpu
::
bitwise_xor
(
d_src1
,
d_src2
,
d_dst
);
cv
::
gpu
::
bitwise_xor
(
d_src1
,
d_src2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1057,7 +1158,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseXorScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
...
@@ -1057,7 +1158,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseXorScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
cv
::
Scalar
s
=
cv
::
Scalar
::
all
(
100
);
cv
::
Scalar
s
=
cv
::
Scalar
::
all
(
100
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1068,6 +1169,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseXorScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
...
@@ -1068,6 +1169,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseXorScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
{
{
cv
::
gpu
::
bitwise_xor
(
d_src
,
s
,
d_dst
);
cv
::
gpu
::
bitwise_xor
(
d_src
,
s
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1079,6 +1182,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseXorScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
...
@@ -1079,6 +1182,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseXorScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
{
{
cv
::
bitwise_xor
(
src
,
s
,
dst
);
cv
::
bitwise_xor
(
src
,
s
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1098,7 +1203,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_RShift, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -1098,7 +1203,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_RShift, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
const
cv
::
Scalar_
<
int
>
val
=
cv
::
Scalar_
<
int
>::
all
(
4
);
const
cv
::
Scalar_
<
int
>
val
=
cv
::
Scalar_
<
int
>::
all
(
4
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1109,10 +1214,12 @@ PERF_TEST_P(Sz_Depth_Cn, Core_RShift, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -1109,10 +1214,12 @@ PERF_TEST_P(Sz_Depth_Cn, Core_RShift, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
{
{
cv
::
gpu
::
rshift
(
d_src
,
val
,
d_dst
);
cv
::
gpu
::
rshift
(
d_src
,
val
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -1132,7 +1239,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_LShift, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -1132,7 +1239,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_LShift, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
const
cv
::
Scalar_
<
int
>
val
=
cv
::
Scalar_
<
int
>::
all
(
4
);
const
cv
::
Scalar_
<
int
>
val
=
cv
::
Scalar_
<
int
>::
all
(
4
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1143,10 +1250,12 @@ PERF_TEST_P(Sz_Depth_Cn, Core_LShift, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -1143,10 +1250,12 @@ PERF_TEST_P(Sz_Depth_Cn, Core_LShift, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
{
{
cv
::
gpu
::
lshift
(
d_src
,
val
,
d_dst
);
cv
::
gpu
::
lshift
(
d_src
,
val
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -1164,7 +1273,7 @@ PERF_TEST_P(Sz_Depth, Core_MinMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
...
@@ -1164,7 +1273,7 @@ PERF_TEST_P(Sz_Depth, Core_MinMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
cv
::
Mat
src2
(
size
,
depth
);
cv
::
Mat
src2
(
size
,
depth
);
fillRandom
(
src2
);
fillRandom
(
src2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -1176,6 +1285,8 @@ PERF_TEST_P(Sz_Depth, Core_MinMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
...
@@ -1176,6 +1285,8 @@ PERF_TEST_P(Sz_Depth, Core_MinMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
{
{
cv
::
gpu
::
min
(
d_src1
,
d_src2
,
d_dst
);
cv
::
gpu
::
min
(
d_src1
,
d_src2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1187,6 +1298,8 @@ PERF_TEST_P(Sz_Depth, Core_MinMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
...
@@ -1187,6 +1298,8 @@ PERF_TEST_P(Sz_Depth, Core_MinMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
{
{
cv
::
min
(
src1
,
src2
,
dst
);
cv
::
min
(
src1
,
src2
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1203,7 +1316,7 @@ PERF_TEST_P(Sz_Depth, Core_MinScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -1203,7 +1316,7 @@ PERF_TEST_P(Sz_Depth, Core_MinScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
const
double
val
=
50.0
;
const
double
val
=
50.0
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1214,6 +1327,8 @@ PERF_TEST_P(Sz_Depth, Core_MinScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -1214,6 +1327,8 @@ PERF_TEST_P(Sz_Depth, Core_MinScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
{
{
cv
::
gpu
::
min
(
d_src
,
val
,
d_dst
);
cv
::
gpu
::
min
(
d_src
,
val
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1225,6 +1340,8 @@ PERF_TEST_P(Sz_Depth, Core_MinScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -1225,6 +1340,8 @@ PERF_TEST_P(Sz_Depth, Core_MinScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
{
{
cv
::
min
(
src
,
val
,
dst
);
cv
::
min
(
src
,
val
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1242,7 +1359,7 @@ PERF_TEST_P(Sz_Depth, Core_MaxMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
...
@@ -1242,7 +1359,7 @@ PERF_TEST_P(Sz_Depth, Core_MaxMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
cv
::
Mat
src2
(
size
,
depth
);
cv
::
Mat
src2
(
size
,
depth
);
fillRandom
(
src2
);
fillRandom
(
src2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -1254,6 +1371,8 @@ PERF_TEST_P(Sz_Depth, Core_MaxMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
...
@@ -1254,6 +1371,8 @@ PERF_TEST_P(Sz_Depth, Core_MaxMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
{
{
cv
::
gpu
::
max
(
d_src1
,
d_src2
,
d_dst
);
cv
::
gpu
::
max
(
d_src1
,
d_src2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1265,6 +1384,8 @@ PERF_TEST_P(Sz_Depth, Core_MaxMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
...
@@ -1265,6 +1384,8 @@ PERF_TEST_P(Sz_Depth, Core_MaxMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
{
{
cv
::
max
(
src1
,
src2
,
dst
);
cv
::
max
(
src1
,
src2
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1281,7 +1402,7 @@ PERF_TEST_P(Sz_Depth, Core_MaxScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -1281,7 +1402,7 @@ PERF_TEST_P(Sz_Depth, Core_MaxScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
const
double
val
=
50.0
;
const
double
val
=
50.0
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1292,6 +1413,8 @@ PERF_TEST_P(Sz_Depth, Core_MaxScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -1292,6 +1413,8 @@ PERF_TEST_P(Sz_Depth, Core_MaxScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
{
{
cv
::
gpu
::
max
(
d_src
,
val
,
d_dst
);
cv
::
gpu
::
max
(
d_src
,
val
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1303,6 +1426,8 @@ PERF_TEST_P(Sz_Depth, Core_MaxScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -1303,6 +1426,8 @@ PERF_TEST_P(Sz_Depth, Core_MaxScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
{
{
cv
::
max
(
src
,
val
,
dst
);
cv
::
max
(
src
,
val
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1328,7 +1453,7 @@ PERF_TEST_P(Sz_3Depth, Core_AddWeighted, Combine(
...
@@ -1328,7 +1453,7 @@ PERF_TEST_P(Sz_3Depth, Core_AddWeighted, Combine(
cv
::
Mat
src2
(
size
,
depth2
);
cv
::
Mat
src2
(
size
,
depth2
);
fillRandom
(
src2
);
fillRandom
(
src2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -1340,6 +1465,8 @@ PERF_TEST_P(Sz_3Depth, Core_AddWeighted, Combine(
...
@@ -1340,6 +1465,8 @@ PERF_TEST_P(Sz_3Depth, Core_AddWeighted, Combine(
{
{
cv
::
gpu
::
addWeighted
(
d_src1
,
0.5
,
d_src2
,
0.5
,
10.0
,
d_dst
,
dst_depth
);
cv
::
gpu
::
addWeighted
(
d_src1
,
0.5
,
d_src2
,
0.5
,
10.0
,
d_dst
,
dst_depth
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1351,6 +1478,8 @@ PERF_TEST_P(Sz_3Depth, Core_AddWeighted, Combine(
...
@@ -1351,6 +1478,8 @@ PERF_TEST_P(Sz_3Depth, Core_AddWeighted, Combine(
{
{
cv
::
addWeighted
(
src1
,
0.5
,
src2
,
0.5
,
10.0
,
dst
,
dst_depth
);
cv
::
addWeighted
(
src1
,
0.5
,
src2
,
0.5
,
10.0
,
dst
,
dst_depth
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1382,7 +1511,7 @@ PERF_TEST_P(Sz_Type_Flags, Core_GEMM, Combine(
...
@@ -1382,7 +1511,7 @@ PERF_TEST_P(Sz_Type_Flags, Core_GEMM, Combine(
cv
::
Mat
src3
(
size
,
type
);
cv
::
Mat
src3
(
size
,
type
);
fillRandom
(
src3
);
fillRandom
(
src3
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -1395,6 +1524,8 @@ PERF_TEST_P(Sz_Type_Flags, Core_GEMM, Combine(
...
@@ -1395,6 +1524,8 @@ PERF_TEST_P(Sz_Type_Flags, Core_GEMM, Combine(
{
{
cv
::
gpu
::
gemm
(
d_src1
,
d_src2
,
1.0
,
d_src3
,
1.0
,
d_dst
,
flags
);
cv
::
gpu
::
gemm
(
d_src1
,
d_src2
,
1.0
,
d_src3
,
1.0
,
d_dst
,
flags
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1408,6 +1539,8 @@ PERF_TEST_P(Sz_Type_Flags, Core_GEMM, Combine(
...
@@ -1408,6 +1539,8 @@ PERF_TEST_P(Sz_Type_Flags, Core_GEMM, Combine(
{
{
cv
::
gemm
(
src1
,
src2
,
1.0
,
src3
,
1.0
,
dst
,
flags
);
cv
::
gemm
(
src1
,
src2
,
1.0
,
src3
,
1.0
,
dst
,
flags
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1424,7 +1557,7 @@ PERF_TEST_P(Sz_Type, Core_Transpose, Combine(
...
@@ -1424,7 +1557,7 @@ PERF_TEST_P(Sz_Type, Core_Transpose, Combine(
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1435,6 +1568,8 @@ PERF_TEST_P(Sz_Type, Core_Transpose, Combine(
...
@@ -1435,6 +1568,8 @@ PERF_TEST_P(Sz_Type, Core_Transpose, Combine(
{
{
cv
::
gpu
::
transpose
(
d_src
,
d_dst
);
cv
::
gpu
::
transpose
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1446,6 +1581,8 @@ PERF_TEST_P(Sz_Type, Core_Transpose, Combine(
...
@@ -1446,6 +1581,8 @@ PERF_TEST_P(Sz_Type, Core_Transpose, Combine(
{
{
cv
::
transpose
(
src
,
dst
);
cv
::
transpose
(
src
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1474,7 +1611,7 @@ PERF_TEST_P(Sz_Depth_Cn_Code, Core_Flip, Combine(
...
@@ -1474,7 +1611,7 @@ PERF_TEST_P(Sz_Depth_Cn_Code, Core_Flip, Combine(
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1485,6 +1622,8 @@ PERF_TEST_P(Sz_Depth_Cn_Code, Core_Flip, Combine(
...
@@ -1485,6 +1622,8 @@ PERF_TEST_P(Sz_Depth_Cn_Code, Core_Flip, Combine(
{
{
cv
::
gpu
::
flip
(
d_src
,
d_dst
,
flipCode
);
cv
::
gpu
::
flip
(
d_src
,
d_dst
,
flipCode
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1496,6 +1635,8 @@ PERF_TEST_P(Sz_Depth_Cn_Code, Core_Flip, Combine(
...
@@ -1496,6 +1635,8 @@ PERF_TEST_P(Sz_Depth_Cn_Code, Core_Flip, Combine(
{
{
cv
::
flip
(
src
,
dst
,
flipCode
);
cv
::
flip
(
src
,
dst
,
flipCode
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1515,7 +1656,7 @@ PERF_TEST_P(Sz_Type, Core_LutOneChannel, Combine(
...
@@ -1515,7 +1656,7 @@ PERF_TEST_P(Sz_Type, Core_LutOneChannel, Combine(
cv
::
Mat
lut
(
1
,
256
,
CV_8UC1
);
cv
::
Mat
lut
(
1
,
256
,
CV_8UC1
);
fillRandom
(
lut
);
fillRandom
(
lut
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1526,6 +1667,8 @@ PERF_TEST_P(Sz_Type, Core_LutOneChannel, Combine(
...
@@ -1526,6 +1667,8 @@ PERF_TEST_P(Sz_Type, Core_LutOneChannel, Combine(
{
{
cv
::
gpu
::
LUT
(
d_src
,
lut
,
d_dst
);
cv
::
gpu
::
LUT
(
d_src
,
lut
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1537,6 +1680,8 @@ PERF_TEST_P(Sz_Type, Core_LutOneChannel, Combine(
...
@@ -1537,6 +1680,8 @@ PERF_TEST_P(Sz_Type, Core_LutOneChannel, Combine(
{
{
cv
::
LUT
(
src
,
lut
,
dst
);
cv
::
LUT
(
src
,
lut
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1556,7 +1701,7 @@ PERF_TEST_P(Sz_Type, Core_LutMultiChannel, Combine(
...
@@ -1556,7 +1701,7 @@ PERF_TEST_P(Sz_Type, Core_LutMultiChannel, Combine(
cv
::
Mat
lut
(
1
,
256
,
CV_MAKE_TYPE
(
CV_8U
,
src
.
channels
()));
cv
::
Mat
lut
(
1
,
256
,
CV_MAKE_TYPE
(
CV_8U
,
src
.
channels
()));
fillRandom
(
lut
);
fillRandom
(
lut
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1567,6 +1712,8 @@ PERF_TEST_P(Sz_Type, Core_LutMultiChannel, Combine(
...
@@ -1567,6 +1712,8 @@ PERF_TEST_P(Sz_Type, Core_LutMultiChannel, Combine(
{
{
cv
::
gpu
::
LUT
(
d_src
,
lut
,
d_dst
);
cv
::
gpu
::
LUT
(
d_src
,
lut
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1578,6 +1725,8 @@ PERF_TEST_P(Sz_Type, Core_LutMultiChannel, Combine(
...
@@ -1578,6 +1725,8 @@ PERF_TEST_P(Sz_Type, Core_LutMultiChannel, Combine(
{
{
cv
::
LUT
(
src
,
lut
,
dst
);
cv
::
LUT
(
src
,
lut
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1591,7 +1740,7 @@ PERF_TEST_P(Sz, Core_MagnitudeComplex, GPU_TYPICAL_MAT_SIZES)
...
@@ -1591,7 +1740,7 @@ PERF_TEST_P(Sz, Core_MagnitudeComplex, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
src
(
size
,
CV_32FC2
);
cv
::
Mat
src
(
size
,
CV_32FC2
);
fillRandom
(
src
,
-
100.0
,
100.0
);
fillRandom
(
src
,
-
100.0
,
100.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1602,6 +1751,8 @@ PERF_TEST_P(Sz, Core_MagnitudeComplex, GPU_TYPICAL_MAT_SIZES)
...
@@ -1602,6 +1751,8 @@ PERF_TEST_P(Sz, Core_MagnitudeComplex, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
magnitude
(
d_src
,
d_dst
);
cv
::
gpu
::
magnitude
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1616,6 +1767,8 @@ PERF_TEST_P(Sz, Core_MagnitudeComplex, GPU_TYPICAL_MAT_SIZES)
...
@@ -1616,6 +1767,8 @@ PERF_TEST_P(Sz, Core_MagnitudeComplex, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
magnitude
(
xy
[
0
],
xy
[
1
],
dst
);
cv
::
magnitude
(
xy
[
0
],
xy
[
1
],
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1629,7 +1782,7 @@ PERF_TEST_P(Sz, Core_MagnitudeSqrComplex, GPU_TYPICAL_MAT_SIZES)
...
@@ -1629,7 +1782,7 @@ PERF_TEST_P(Sz, Core_MagnitudeSqrComplex, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
src
(
size
,
CV_32FC2
);
cv
::
Mat
src
(
size
,
CV_32FC2
);
fillRandom
(
src
,
-
100.0
,
100.0
);
fillRandom
(
src
,
-
100.0
,
100.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1640,10 +1793,12 @@ PERF_TEST_P(Sz, Core_MagnitudeSqrComplex, GPU_TYPICAL_MAT_SIZES)
...
@@ -1640,10 +1793,12 @@ PERF_TEST_P(Sz, Core_MagnitudeSqrComplex, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
magnitudeSqr
(
d_src
,
d_dst
);
cv
::
gpu
::
magnitudeSqr
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -1660,7 +1815,7 @@ PERF_TEST_P(Sz, Core_Magnitude, GPU_TYPICAL_MAT_SIZES)
...
@@ -1660,7 +1815,7 @@ PERF_TEST_P(Sz, Core_Magnitude, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
src2
(
size
,
CV_32FC1
);
cv
::
Mat
src2
(
size
,
CV_32FC1
);
fillRandom
(
src2
,
-
100.0
,
100.0
);
fillRandom
(
src2
,
-
100.0
,
100.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -1672,6 +1827,8 @@ PERF_TEST_P(Sz, Core_Magnitude, GPU_TYPICAL_MAT_SIZES)
...
@@ -1672,6 +1827,8 @@ PERF_TEST_P(Sz, Core_Magnitude, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
magnitude
(
d_src1
,
d_src2
,
d_dst
);
cv
::
gpu
::
magnitude
(
d_src1
,
d_src2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1683,6 +1840,9 @@ PERF_TEST_P(Sz, Core_Magnitude, GPU_TYPICAL_MAT_SIZES)
...
@@ -1683,6 +1840,9 @@ PERF_TEST_P(Sz, Core_Magnitude, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
magnitude
(
src1
,
src2
,
dst
);
cv
::
magnitude
(
src1
,
src2
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1699,7 +1859,7 @@ PERF_TEST_P(Sz, Core_MagnitudeSqr, GPU_TYPICAL_MAT_SIZES)
...
@@ -1699,7 +1859,7 @@ PERF_TEST_P(Sz, Core_MagnitudeSqr, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
src2
(
size
,
CV_32FC1
);
cv
::
Mat
src2
(
size
,
CV_32FC1
);
fillRandom
(
src2
,
-
100.0
,
100.0
);
fillRandom
(
src2
,
-
100.0
,
100.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -1711,10 +1871,12 @@ PERF_TEST_P(Sz, Core_MagnitudeSqr, GPU_TYPICAL_MAT_SIZES)
...
@@ -1711,10 +1871,12 @@ PERF_TEST_P(Sz, Core_MagnitudeSqr, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
magnitudeSqr
(
d_src1
,
d_src2
,
d_dst
);
cv
::
gpu
::
magnitudeSqr
(
d_src1
,
d_src2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -1734,7 +1896,7 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_Phase, Combine(GPU_TYPICAL_MAT_SIZES, Bool()
...
@@ -1734,7 +1896,7 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_Phase, Combine(GPU_TYPICAL_MAT_SIZES, Bool()
cv
::
Mat
src2
(
size
,
CV_32FC1
);
cv
::
Mat
src2
(
size
,
CV_32FC1
);
fillRandom
(
src2
,
-
100.0
,
100.0
);
fillRandom
(
src2
,
-
100.0
,
100.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -1746,6 +1908,8 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_Phase, Combine(GPU_TYPICAL_MAT_SIZES, Bool()
...
@@ -1746,6 +1908,8 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_Phase, Combine(GPU_TYPICAL_MAT_SIZES, Bool()
{
{
cv
::
gpu
::
phase
(
d_src1
,
d_src2
,
d_dst
,
angleInDegrees
);
cv
::
gpu
::
phase
(
d_src1
,
d_src2
,
d_dst
,
angleInDegrees
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1757,6 +1921,8 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_Phase, Combine(GPU_TYPICAL_MAT_SIZES, Bool()
...
@@ -1757,6 +1921,8 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_Phase, Combine(GPU_TYPICAL_MAT_SIZES, Bool()
{
{
cv
::
phase
(
src1
,
src2
,
dst
,
angleInDegrees
);
cv
::
phase
(
src1
,
src2
,
dst
,
angleInDegrees
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1774,7 +1940,7 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_CartToPolar, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -1774,7 +1940,7 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_CartToPolar, Combine(GPU_TYPICAL_MAT_SIZES,
cv
::
Mat
src2
(
size
,
CV_32FC1
);
cv
::
Mat
src2
(
size
,
CV_32FC1
);
fillRandom
(
src2
,
-
100.0
,
100.0
);
fillRandom
(
src2
,
-
100.0
,
100.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -1787,6 +1953,10 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_CartToPolar, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -1787,6 +1953,10 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_CartToPolar, Combine(GPU_TYPICAL_MAT_SIZES,
{
{
cv
::
gpu
::
cartToPolar
(
d_src1
,
d_src2
,
d_magnitude
,
d_angle
,
angleInDegrees
);
cv
::
gpu
::
cartToPolar
(
d_src1
,
d_src2
,
d_magnitude
,
d_angle
,
angleInDegrees
);
}
}
GPU_SANITY_CHECK
(
d_magnitude
);
GPU_SANITY_CHECK
(
d_angle
);
}
}
else
else
{
{
...
@@ -1799,6 +1969,9 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_CartToPolar, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -1799,6 +1969,9 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_CartToPolar, Combine(GPU_TYPICAL_MAT_SIZES,
{
{
cv
::
cartToPolar
(
src1
,
src2
,
magnitude
,
angle
,
angleInDegrees
);
cv
::
cartToPolar
(
src1
,
src2
,
magnitude
,
angle
,
angleInDegrees
);
}
}
CPU_SANITY_CHECK
(
magnitude
);
CPU_SANITY_CHECK
(
angle
);
}
}
}
}
...
@@ -1816,7 +1989,7 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_PolarToCart, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -1816,7 +1989,7 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_PolarToCart, Combine(GPU_TYPICAL_MAT_SIZES,
cv
::
Mat
angle
(
size
,
CV_32FC1
);
cv
::
Mat
angle
(
size
,
CV_32FC1
);
fillRandom
(
angle
,
0.0
,
angleInDegrees
?
360.0
:
2
*
CV_PI
);
fillRandom
(
angle
,
0.0
,
angleInDegrees
?
360.0
:
2
*
CV_PI
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_magnitude
(
magnitude
);
cv
::
gpu
::
GpuMat
d_magnitude
(
magnitude
);
cv
::
gpu
::
GpuMat
d_angle
(
angle
);
cv
::
gpu
::
GpuMat
d_angle
(
angle
);
...
@@ -1829,6 +2002,9 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_PolarToCart, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -1829,6 +2002,9 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_PolarToCart, Combine(GPU_TYPICAL_MAT_SIZES,
{
{
cv
::
gpu
::
polarToCart
(
d_magnitude
,
d_angle
,
d_x
,
d_y
,
angleInDegrees
);
cv
::
gpu
::
polarToCart
(
d_magnitude
,
d_angle
,
d_x
,
d_y
,
angleInDegrees
);
}
}
GPU_SANITY_CHECK
(
d_x
);
GPU_SANITY_CHECK
(
d_y
);
}
}
else
else
{
{
...
@@ -1841,6 +2017,9 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_PolarToCart, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -1841,6 +2017,9 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_PolarToCart, Combine(GPU_TYPICAL_MAT_SIZES,
{
{
cv
::
polarToCart
(
magnitude
,
angle
,
x
,
y
,
angleInDegrees
);
cv
::
polarToCart
(
magnitude
,
angle
,
x
,
y
,
angleInDegrees
);
}
}
CPU_SANITY_CHECK
(
x
);
CPU_SANITY_CHECK
(
y
);
}
}
}
}
...
@@ -1857,7 +2036,7 @@ PERF_TEST_P(Sz, Core_MeanStdDev, GPU_TYPICAL_MAT_SIZES)
...
@@ -1857,7 +2036,7 @@ PERF_TEST_P(Sz, Core_MeanStdDev, GPU_TYPICAL_MAT_SIZES)
cv
::
Scalar
mean
;
cv
::
Scalar
mean
;
cv
::
Scalar
stddev
;
cv
::
Scalar
stddev
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_buf
;
cv
::
gpu
::
GpuMat
d_buf
;
...
@@ -1878,6 +2057,8 @@ PERF_TEST_P(Sz, Core_MeanStdDev, GPU_TYPICAL_MAT_SIZES)
...
@@ -1878,6 +2057,8 @@ PERF_TEST_P(Sz, Core_MeanStdDev, GPU_TYPICAL_MAT_SIZES)
cv
::
meanStdDev
(
src
,
mean
,
stddev
);
cv
::
meanStdDev
(
src
,
mean
,
stddev
);
}
}
}
}
GPU_SANITY_CHECK
(
stddev
);
}
}
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
...
@@ -1899,7 +2080,7 @@ PERF_TEST_P(Sz_Depth_Norm, Core_Norm, Combine(
...
@@ -1899,7 +2080,7 @@ PERF_TEST_P(Sz_Depth_Norm, Core_Norm, Combine(
double
dst
;
double
dst
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_buf
;
cv
::
gpu
::
GpuMat
d_buf
;
...
@@ -1920,7 +2101,8 @@ PERF_TEST_P(Sz_Depth_Norm, Core_Norm, Combine(
...
@@ -1920,7 +2101,8 @@ PERF_TEST_P(Sz_Depth_Norm, Core_Norm, Combine(
dst
=
cv
::
norm
(
src
,
normType
);
dst
=
cv
::
norm
(
src
,
normType
);
}
}
}
}
(
void
)
dst
;
SANITY_CHECK
(
dst
);
}
}
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
...
@@ -1943,7 +2125,7 @@ PERF_TEST_P(Sz_Norm, Core_NormDiff, Combine(
...
@@ -1943,7 +2125,7 @@ PERF_TEST_P(Sz_Norm, Core_NormDiff, Combine(
double
dst
;
double
dst
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -1954,6 +2136,7 @@ PERF_TEST_P(Sz_Norm, Core_NormDiff, Combine(
...
@@ -1954,6 +2136,7 @@ PERF_TEST_P(Sz_Norm, Core_NormDiff, Combine(
{
{
dst
=
cv
::
gpu
::
norm
(
d_src1
,
d_src2
,
normType
);
dst
=
cv
::
gpu
::
norm
(
d_src1
,
d_src2
,
normType
);
}
}
}
}
else
else
{
{
...
@@ -1964,7 +2147,8 @@ PERF_TEST_P(Sz_Norm, Core_NormDiff, Combine(
...
@@ -1964,7 +2147,8 @@ PERF_TEST_P(Sz_Norm, Core_NormDiff, Combine(
dst
=
cv
::
norm
(
src1
,
src2
,
normType
);
dst
=
cv
::
norm
(
src1
,
src2
,
normType
);
}
}
}
}
(
void
)
dst
;
SANITY_CHECK
(
dst
);
}
}
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
...
@@ -1986,7 +2170,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Sum, Combine(
...
@@ -1986,7 +2170,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Sum, Combine(
cv
::
Scalar
dst
;
cv
::
Scalar
dst
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_buf
;
cv
::
gpu
::
GpuMat
d_buf
;
...
@@ -2007,6 +2191,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Sum, Combine(
...
@@ -2007,6 +2191,8 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Sum, Combine(
dst
=
cv
::
sum
(
src
);
dst
=
cv
::
sum
(
src
);
}
}
}
}
SANITY_CHECK
(
dst
);
}
}
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
...
@@ -2028,7 +2214,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_SumAbs, Combine(
...
@@ -2028,7 +2214,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_SumAbs, Combine(
cv
::
Scalar
dst
;
cv
::
Scalar
dst
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_buf
;
cv
::
gpu
::
GpuMat
d_buf
;
...
@@ -2039,10 +2225,12 @@ PERF_TEST_P(Sz_Depth_Cn, Core_SumAbs, Combine(
...
@@ -2039,10 +2225,12 @@ PERF_TEST_P(Sz_Depth_Cn, Core_SumAbs, Combine(
{
{
dst
=
cv
::
gpu
::
absSum
(
d_src
,
d_buf
);
dst
=
cv
::
gpu
::
absSum
(
d_src
,
d_buf
);
}
}
SANITY_CHECK
(
dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -2065,7 +2253,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_SumSqr, Combine(
...
@@ -2065,7 +2253,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_SumSqr, Combine(
cv
::
Scalar
dst
;
cv
::
Scalar
dst
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_buf
;
cv
::
gpu
::
GpuMat
d_buf
;
...
@@ -2076,10 +2264,12 @@ PERF_TEST_P(Sz_Depth_Cn, Core_SumSqr, Combine(
...
@@ -2076,10 +2264,12 @@ PERF_TEST_P(Sz_Depth_Cn, Core_SumSqr, Combine(
{
{
dst
=
cv
::
gpu
::
sqrSum
(
d_src
,
d_buf
);
dst
=
cv
::
gpu
::
sqrSum
(
d_src
,
d_buf
);
}
}
SANITY_CHECK
(
dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -2098,7 +2288,7 @@ PERF_TEST_P(Sz_Depth, Core_MinMax, Combine(
...
@@ -2098,7 +2288,7 @@ PERF_TEST_P(Sz_Depth, Core_MinMax, Combine(
double
minVal
,
maxVal
;
double
minVal
,
maxVal
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_buf
;
cv
::
gpu
::
GpuMat
d_buf
;
...
@@ -2109,10 +2299,13 @@ PERF_TEST_P(Sz_Depth, Core_MinMax, Combine(
...
@@ -2109,10 +2299,13 @@ PERF_TEST_P(Sz_Depth, Core_MinMax, Combine(
{
{
cv
::
gpu
::
minMax
(
d_src
,
&
minVal
,
&
maxVal
,
cv
::
gpu
::
GpuMat
(),
d_buf
);
cv
::
gpu
::
minMax
(
d_src
,
&
minVal
,
&
maxVal
,
cv
::
gpu
::
GpuMat
(),
d_buf
);
}
}
SANITY_CHECK
(
minVal
);
SANITY_CHECK
(
maxVal
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -2132,7 +2325,7 @@ PERF_TEST_P(Sz_Depth, Core_MinMaxLoc, Combine(
...
@@ -2132,7 +2325,7 @@ PERF_TEST_P(Sz_Depth, Core_MinMaxLoc, Combine(
double
minVal
,
maxVal
;
double
minVal
,
maxVal
;
cv
::
Point
minLoc
,
maxLoc
;
cv
::
Point
minLoc
,
maxLoc
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_valbuf
,
d_locbuf
;
cv
::
gpu
::
GpuMat
d_valbuf
,
d_locbuf
;
...
@@ -2153,6 +2346,13 @@ PERF_TEST_P(Sz_Depth, Core_MinMaxLoc, Combine(
...
@@ -2153,6 +2346,13 @@ PERF_TEST_P(Sz_Depth, Core_MinMaxLoc, Combine(
cv
::
minMaxLoc
(
src
,
&
minVal
,
&
maxVal
,
&
minLoc
,
&
maxLoc
);
cv
::
minMaxLoc
(
src
,
&
minVal
,
&
maxVal
,
&
minLoc
,
&
maxLoc
);
}
}
}
}
SANITY_CHECK
(
minVal
);
SANITY_CHECK
(
maxVal
);
// unsupported by peft system
//SANITY_CHECK(minLoc);
//SANITY_CHECK(maxLoc);
}
}
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
...
@@ -2170,7 +2370,7 @@ PERF_TEST_P(Sz_Depth, Core_CountNonZero, Combine(
...
@@ -2170,7 +2370,7 @@ PERF_TEST_P(Sz_Depth, Core_CountNonZero, Combine(
int
dst
;
int
dst
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_buf
;
cv
::
gpu
::
GpuMat
d_buf
;
...
@@ -2191,7 +2391,8 @@ PERF_TEST_P(Sz_Depth, Core_CountNonZero, Combine(
...
@@ -2191,7 +2391,8 @@ PERF_TEST_P(Sz_Depth, Core_CountNonZero, Combine(
dst
=
cv
::
countNonZero
(
src
);
dst
=
cv
::
countNonZero
(
src
);
}
}
}
}
(
void
)
dst
;
SANITY_CHECK
(
dst
);
}
}
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
...
@@ -2224,7 +2425,7 @@ PERF_TEST_P(Sz_Depth_Cn_Code_Dim, Core_Reduce, Combine(
...
@@ -2224,7 +2425,7 @@ PERF_TEST_P(Sz_Depth_Cn_Code_Dim, Core_Reduce, Combine(
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -2235,6 +2436,8 @@ PERF_TEST_P(Sz_Depth_Cn_Code_Dim, Core_Reduce, Combine(
...
@@ -2235,6 +2436,8 @@ PERF_TEST_P(Sz_Depth_Cn_Code_Dim, Core_Reduce, Combine(
{
{
cv
::
gpu
::
reduce
(
d_src
,
d_dst
,
dim
,
reduceOp
);
cv
::
gpu
::
reduce
(
d_src
,
d_dst
,
dim
,
reduceOp
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
...
modules/gpu/perf/perf_denoising.cpp
View file @
9368aa9f
...
@@ -11,7 +11,7 @@ using namespace testing;
...
@@ -11,7 +11,7 @@ using namespace testing;
DEF_PARAM_TEST
(
Sz_Depth_Cn_KernelSz
,
cv
::
Size
,
MatDepth
,
MatCn
,
int
);
DEF_PARAM_TEST
(
Sz_Depth_Cn_KernelSz
,
cv
::
Size
,
MatDepth
,
MatCn
,
int
);
PERF_TEST_P
(
Sz_Depth_Cn_KernelSz
,
Denoising_BilateralFilter
,
PERF_TEST_P
(
Sz_Depth_Cn_KernelSz
,
Denoising_BilateralFilter
,
Combine
(
GPU_DENOISING_IMAGE_SIZES
,
Values
(
CV_8U
,
CV_32F
),
GPU_CHANNELS_1_3
,
Values
(
3
,
5
,
9
)))
Combine
(
GPU_DENOISING_IMAGE_SIZES
,
Values
(
CV_8U
,
CV_32F
),
GPU_CHANNELS_1_3
,
Values
(
3
,
5
,
9
)))
{
{
declare
.
time
(
60.0
);
declare
.
time
(
60.0
);
...
@@ -30,7 +30,7 @@ PERF_TEST_P(Sz_Depth_Cn_KernelSz, Denoising_BilateralFilter,
...
@@ -30,7 +30,7 @@ PERF_TEST_P(Sz_Depth_Cn_KernelSz, Denoising_BilateralFilter,
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -41,6 +41,8 @@ PERF_TEST_P(Sz_Depth_Cn_KernelSz, Denoising_BilateralFilter,
...
@@ -41,6 +41,8 @@ PERF_TEST_P(Sz_Depth_Cn_KernelSz, Denoising_BilateralFilter,
{
{
cv
::
gpu
::
bilateralFilter
(
d_src
,
d_dst
,
kernel_size
,
sigma_color
,
sigma_spatial
,
borderMode
);
cv
::
gpu
::
bilateralFilter
(
d_src
,
d_dst
,
kernel_size
,
sigma_color
,
sigma_spatial
,
borderMode
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -52,6 +54,8 @@ PERF_TEST_P(Sz_Depth_Cn_KernelSz, Denoising_BilateralFilter,
...
@@ -52,6 +54,8 @@ PERF_TEST_P(Sz_Depth_Cn_KernelSz, Denoising_BilateralFilter,
{
{
cv
::
bilateralFilter
(
src
,
dst
,
kernel_size
,
sigma_color
,
sigma_spatial
,
borderMode
);
cv
::
bilateralFilter
(
src
,
dst
,
kernel_size
,
sigma_color
,
sigma_spatial
,
borderMode
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -61,27 +65,27 @@ PERF_TEST_P(Sz_Depth_Cn_KernelSz, Denoising_BilateralFilter,
...
@@ -61,27 +65,27 @@ PERF_TEST_P(Sz_Depth_Cn_KernelSz, Denoising_BilateralFilter,
DEF_PARAM_TEST
(
Sz_Depth_Cn_WinSz_BlockSz
,
cv
::
Size
,
MatDepth
,
MatCn
,
int
,
int
);
DEF_PARAM_TEST
(
Sz_Depth_Cn_WinSz_BlockSz
,
cv
::
Size
,
MatDepth
,
MatCn
,
int
,
int
);
PERF_TEST_P
(
Sz_Depth_Cn_WinSz_BlockSz
,
Denoising_NonLocalMeans
,
PERF_TEST_P
(
Sz_Depth_Cn_WinSz_BlockSz
,
Denoising_NonLocalMeans
,
Combine
(
GPU_DENOISING_IMAGE_SIZES
,
Values
<
MatDepth
>
(
CV_8U
),
GPU_CHANNELS_1_3
,
Values
(
21
),
Values
(
5
,
7
)))
Combine
(
GPU_DENOISING_IMAGE_SIZES
,
Values
<
MatDepth
>
(
CV_8U
),
GPU_CHANNELS_1_3
,
Values
(
21
),
Values
(
5
,
7
)))
{
{
declare
.
time
(
60.0
);
declare
.
time
(
60.0
);
cv
::
Size
size
=
GET_PARAM
(
0
);
cv
::
Size
size
=
GET_PARAM
(
0
);
int
depth
=
GET_PARAM
(
1
);
int
depth
=
GET_PARAM
(
1
);
int
channels
=
GET_PARAM
(
2
);
int
channels
=
GET_PARAM
(
2
);
int
search_widow_size
=
GET_PARAM
(
3
);
int
search_widow_size
=
GET_PARAM
(
3
);
int
block_size
=
GET_PARAM
(
4
);
int
block_size
=
GET_PARAM
(
4
);
float
h
=
10
;
float
h
=
10
;
int
borderMode
=
cv
::
BORDER_REFLECT101
;
int
borderMode
=
cv
::
BORDER_REFLECT101
;
int
type
=
CV_MAKE_TYPE
(
depth
,
channels
);
int
type
=
CV_MAKE_TYPE
(
depth
,
channels
);
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -92,10 +96,12 @@ PERF_TEST_P(Sz_Depth_Cn_WinSz_BlockSz, Denoising_NonLocalMeans,
...
@@ -92,10 +96,12 @@ PERF_TEST_P(Sz_Depth_Cn_WinSz_BlockSz, Denoising_NonLocalMeans,
{
{
cv
::
gpu
::
nonLocalMeans
(
d_src
,
d_dst
,
h
,
search_widow_size
,
block_size
,
borderMode
);
cv
::
gpu
::
nonLocalMeans
(
d_src
,
d_dst
,
h
,
search_widow_size
,
block_size
,
borderMode
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -105,35 +111,37 @@ PERF_TEST_P(Sz_Depth_Cn_WinSz_BlockSz, Denoising_NonLocalMeans,
...
@@ -105,35 +111,37 @@ PERF_TEST_P(Sz_Depth_Cn_WinSz_BlockSz, Denoising_NonLocalMeans,
DEF_PARAM_TEST
(
Sz_Depth_Cn_WinSz_BlockSz
,
cv
::
Size
,
MatDepth
,
MatCn
,
int
,
int
);
DEF_PARAM_TEST
(
Sz_Depth_Cn_WinSz_BlockSz
,
cv
::
Size
,
MatDepth
,
MatCn
,
int
,
int
);
PERF_TEST_P
(
Sz_Depth_Cn_WinSz_BlockSz
,
Denoising_FastNonLocalMeans
,
PERF_TEST_P
(
Sz_Depth_Cn_WinSz_BlockSz
,
Denoising_FastNonLocalMeans
,
Combine
(
GPU_DENOISING_IMAGE_SIZES
,
Values
<
MatDepth
>
(
CV_8U
),
GPU_CHANNELS_1_3
,
Values
(
21
),
Values
(
7
)))
Combine
(
GPU_DENOISING_IMAGE_SIZES
,
Values
<
MatDepth
>
(
CV_8U
),
GPU_CHANNELS_1_3
,
Values
(
21
),
Values
(
7
)))
{
{
declare
.
time
(
150.0
);
declare
.
time
(
150.0
);
cv
::
Size
size
=
GET_PARAM
(
0
);
cv
::
Size
size
=
GET_PARAM
(
0
);
int
depth
=
GET_PARAM
(
1
);
int
depth
=
GET_PARAM
(
1
);
int
search_widow_size
=
GET_PARAM
(
2
);
int
search_widow_size
=
GET_PARAM
(
2
);
int
block_size
=
GET_PARAM
(
3
);
int
block_size
=
GET_PARAM
(
3
);
float
h
=
10
;
float
h
=
10
;
int
type
=
CV_MAKE_TYPE
(
depth
,
1
);
int
type
=
CV_MAKE_TYPE
(
depth
,
1
);
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
FastNonLocalMeansDenoising
fnlmd
;
cv
::
gpu
::
FastNonLocalMeansDenoising
fnlmd
;
fnlmd
.
simpleMethod
(
d_src
,
d_dst
,
h
,
search_widow_size
,
block_size
);
fnlmd
.
simpleMethod
(
d_src
,
d_dst
,
h
,
search_widow_size
,
block_size
);
TEST_CYCLE
()
TEST_CYCLE
()
{
{
fnlmd
.
simpleMethod
(
d_src
,
d_dst
,
h
,
search_widow_size
,
block_size
);
fnlmd
.
simpleMethod
(
d_src
,
d_dst
,
h
,
search_widow_size
,
block_size
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -144,6 +152,8 @@ PERF_TEST_P(Sz_Depth_Cn_WinSz_BlockSz, Denoising_FastNonLocalMeans,
...
@@ -144,6 +152,8 @@ PERF_TEST_P(Sz_Depth_Cn_WinSz_BlockSz, Denoising_FastNonLocalMeans,
{
{
cv
::
fastNlMeansDenoising
(
src
,
dst
,
h
,
block_size
,
search_widow_size
);
cv
::
fastNlMeansDenoising
(
src
,
dst
,
h
,
block_size
,
search_widow_size
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -152,35 +162,37 @@ PERF_TEST_P(Sz_Depth_Cn_WinSz_BlockSz, Denoising_FastNonLocalMeans,
...
@@ -152,35 +162,37 @@ PERF_TEST_P(Sz_Depth_Cn_WinSz_BlockSz, Denoising_FastNonLocalMeans,
DEF_PARAM_TEST
(
Sz_Depth_WinSz_BlockSz
,
cv
::
Size
,
MatDepth
,
int
,
int
);
DEF_PARAM_TEST
(
Sz_Depth_WinSz_BlockSz
,
cv
::
Size
,
MatDepth
,
int
,
int
);
PERF_TEST_P
(
Sz_Depth_WinSz_BlockSz
,
Denoising_FastNonLocalMeansColored
,
PERF_TEST_P
(
Sz_Depth_WinSz_BlockSz
,
Denoising_FastNonLocalMeansColored
,
Combine
(
GPU_DENOISING_IMAGE_SIZES
,
Values
<
MatDepth
>
(
CV_8U
),
Values
(
21
),
Values
(
7
)))
Combine
(
GPU_DENOISING_IMAGE_SIZES
,
Values
<
MatDepth
>
(
CV_8U
),
Values
(
21
),
Values
(
7
)))
{
{
declare
.
time
(
350.0
);
declare
.
time
(
350.0
);
cv
::
Size
size
=
GET_PARAM
(
0
);
cv
::
Size
size
=
GET_PARAM
(
0
);
int
depth
=
GET_PARAM
(
1
);
int
depth
=
GET_PARAM
(
1
);
int
search_widow_size
=
GET_PARAM
(
2
);
int
search_widow_size
=
GET_PARAM
(
2
);
int
block_size
=
GET_PARAM
(
3
);
int
block_size
=
GET_PARAM
(
3
);
float
h
=
10
;
float
h
=
10
;
int
type
=
CV_MAKE_TYPE
(
depth
,
3
);
int
type
=
CV_MAKE_TYPE
(
depth
,
3
);
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
FastNonLocalMeansDenoising
fnlmd
;
cv
::
gpu
::
FastNonLocalMeansDenoising
fnlmd
;
fnlmd
.
labMethod
(
d_src
,
d_dst
,
h
,
h
,
search_widow_size
,
block_size
);
fnlmd
.
labMethod
(
d_src
,
d_dst
,
h
,
h
,
search_widow_size
,
block_size
);
TEST_CYCLE
()
TEST_CYCLE
()
{
{
fnlmd
.
labMethod
(
d_src
,
d_dst
,
h
,
h
,
search_widow_size
,
block_size
);
fnlmd
.
labMethod
(
d_src
,
d_dst
,
h
,
h
,
search_widow_size
,
block_size
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -191,5 +203,7 @@ PERF_TEST_P(Sz_Depth_WinSz_BlockSz, Denoising_FastNonLocalMeansColored,
...
@@ -191,5 +203,7 @@ PERF_TEST_P(Sz_Depth_WinSz_BlockSz, Denoising_FastNonLocalMeansColored,
{
{
cv
::
fastNlMeansDenoisingColored
(
src
,
dst
,
h
,
h
,
block_size
,
search_widow_size
);
cv
::
fastNlMeansDenoisingColored
(
src
,
dst
,
h
,
h
,
block_size
,
search_widow_size
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
\ No newline at end of file
modules/gpu/perf/perf_features2d.cpp
View file @
9368aa9f
...
@@ -17,7 +17,7 @@ PERF_TEST_P(Image, Features2D_SURF, Values<string>("gpu/perf/aloe.png"))
...
@@ -17,7 +17,7 @@ PERF_TEST_P(Image, Features2D_SURF, Values<string>("gpu/perf/aloe.png"))
cv
::
Mat
img
=
readImage
(
GetParam
(),
cv
::
IMREAD_GRAYSCALE
);
cv
::
Mat
img
=
readImage
(
GetParam
(),
cv
::
IMREAD_GRAYSCALE
);
ASSERT_FALSE
(
img
.
empty
());
ASSERT_FALSE
(
img
.
empty
());
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
SURF_GPU
d_surf
;
cv
::
gpu
::
SURF_GPU
d_surf
;
...
@@ -30,6 +30,9 @@ PERF_TEST_P(Image, Features2D_SURF, Values<string>("gpu/perf/aloe.png"))
...
@@ -30,6 +30,9 @@ PERF_TEST_P(Image, Features2D_SURF, Values<string>("gpu/perf/aloe.png"))
{
{
d_surf
(
d_img
,
cv
::
gpu
::
GpuMat
(),
d_keypoints
,
d_descriptors
);
d_surf
(
d_img
,
cv
::
gpu
::
GpuMat
(),
d_keypoints
,
d_descriptors
);
}
}
GPU_SANITY_CHECK
(
d_descriptors
,
1e-4
);
GPU_SANITY_CHECK_KEYPOINTS
(
SURF
,
d_keypoints
);
}
}
else
else
{
{
...
@@ -45,6 +48,9 @@ PERF_TEST_P(Image, Features2D_SURF, Values<string>("gpu/perf/aloe.png"))
...
@@ -45,6 +48,9 @@ PERF_TEST_P(Image, Features2D_SURF, Values<string>("gpu/perf/aloe.png"))
keypoints
.
clear
();
keypoints
.
clear
();
surf
(
img
,
cv
::
noArray
(),
keypoints
,
descriptors
);
surf
(
img
,
cv
::
noArray
(),
keypoints
,
descriptors
);
}
}
SANITY_CHECK_KEYPOINTS
(
keypoints
);
SANITY_CHECK
(
descriptors
,
1e-4
);
}
}
}
}
...
@@ -56,7 +62,7 @@ PERF_TEST_P(Image, Features2D_FAST, Values<string>("gpu/perf/aloe.png"))
...
@@ -56,7 +62,7 @@ PERF_TEST_P(Image, Features2D_FAST, Values<string>("gpu/perf/aloe.png"))
cv
::
Mat
img
=
readImage
(
GetParam
(),
cv
::
IMREAD_GRAYSCALE
);
cv
::
Mat
img
=
readImage
(
GetParam
(),
cv
::
IMREAD_GRAYSCALE
);
ASSERT_FALSE
(
img
.
empty
());
ASSERT_FALSE
(
img
.
empty
());
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
FAST_GPU
d_fast
(
20
);
cv
::
gpu
::
FAST_GPU
d_fast
(
20
);
...
@@ -69,6 +75,8 @@ PERF_TEST_P(Image, Features2D_FAST, Values<string>("gpu/perf/aloe.png"))
...
@@ -69,6 +75,8 @@ PERF_TEST_P(Image, Features2D_FAST, Values<string>("gpu/perf/aloe.png"))
{
{
d_fast
(
d_img
,
cv
::
gpu
::
GpuMat
(),
d_keypoints
);
d_fast
(
d_img
,
cv
::
gpu
::
GpuMat
(),
d_keypoints
);
}
}
GPU_SANITY_CHECK_RESPONSE
(
FAST
,
d_keypoints
);
}
}
else
else
{
{
...
@@ -81,6 +89,8 @@ PERF_TEST_P(Image, Features2D_FAST, Values<string>("gpu/perf/aloe.png"))
...
@@ -81,6 +89,8 @@ PERF_TEST_P(Image, Features2D_FAST, Values<string>("gpu/perf/aloe.png"))
keypoints
.
clear
();
keypoints
.
clear
();
cv
::
FAST
(
img
,
keypoints
,
20
);
cv
::
FAST
(
img
,
keypoints
,
20
);
}
}
SANITY_CHECK_KEYPOINTS
(
keypoints
);
}
}
}
}
...
@@ -92,7 +102,7 @@ PERF_TEST_P(Image, Features2D_ORB, Values<string>("gpu/perf/aloe.png"))
...
@@ -92,7 +102,7 @@ PERF_TEST_P(Image, Features2D_ORB, Values<string>("gpu/perf/aloe.png"))
cv
::
Mat
img
=
readImage
(
GetParam
(),
cv
::
IMREAD_GRAYSCALE
);
cv
::
Mat
img
=
readImage
(
GetParam
(),
cv
::
IMREAD_GRAYSCALE
);
ASSERT_FALSE
(
img
.
empty
());
ASSERT_FALSE
(
img
.
empty
());
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
ORB_GPU
d_orb
(
4000
);
cv
::
gpu
::
ORB_GPU
d_orb
(
4000
);
...
@@ -105,6 +115,9 @@ PERF_TEST_P(Image, Features2D_ORB, Values<string>("gpu/perf/aloe.png"))
...
@@ -105,6 +115,9 @@ PERF_TEST_P(Image, Features2D_ORB, Values<string>("gpu/perf/aloe.png"))
{
{
d_orb
(
d_img
,
cv
::
gpu
::
GpuMat
(),
d_keypoints
,
d_descriptors
);
d_orb
(
d_img
,
cv
::
gpu
::
GpuMat
(),
d_keypoints
,
d_descriptors
);
}
}
GPU_SANITY_CHECK_KEYPOINTS
(
ORB
,
d_keypoints
);
GPU_SANITY_CHECK
(
d_descriptors
);
}
}
else
else
{
{
...
@@ -120,6 +133,9 @@ PERF_TEST_P(Image, Features2D_ORB, Values<string>("gpu/perf/aloe.png"))
...
@@ -120,6 +133,9 @@ PERF_TEST_P(Image, Features2D_ORB, Values<string>("gpu/perf/aloe.png"))
keypoints
.
clear
();
keypoints
.
clear
();
orb
(
img
,
cv
::
noArray
(),
keypoints
,
descriptors
);
orb
(
img
,
cv
::
noArray
(),
keypoints
,
descriptors
);
}
}
SANITY_CHECK_KEYPOINTS
(
keypoints
);
SANITY_CHECK
(
descriptors
);
}
}
}
}
...
@@ -143,7 +159,7 @@ PERF_TEST_P(DescSize_Norm, Features2D_BFMatch, Combine(Values(64, 128, 256), Val
...
@@ -143,7 +159,7 @@ PERF_TEST_P(DescSize_Norm, Features2D_BFMatch, Combine(Values(64, 128, 256), Val
cv
::
Mat
train
(
3000
,
desc_size
,
type
);
cv
::
Mat
train
(
3000
,
desc_size
,
type
);
fillRandom
(
train
);
fillRandom
(
train
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
BFMatcher_GPU
d_matcher
(
normType
);
cv
::
gpu
::
BFMatcher_GPU
d_matcher
(
normType
);
...
@@ -157,6 +173,9 @@ PERF_TEST_P(DescSize_Norm, Features2D_BFMatch, Combine(Values(64, 128, 256), Val
...
@@ -157,6 +173,9 @@ PERF_TEST_P(DescSize_Norm, Features2D_BFMatch, Combine(Values(64, 128, 256), Val
{
{
d_matcher
.
matchSingle
(
d_query
,
d_train
,
d_trainIdx
,
d_distance
);
d_matcher
.
matchSingle
(
d_query
,
d_train
,
d_trainIdx
,
d_distance
);
}
}
GPU_SANITY_CHECK
(
d_trainIdx
);
GPU_SANITY_CHECK
(
d_distance
);
}
}
else
else
{
{
...
@@ -170,6 +189,8 @@ PERF_TEST_P(DescSize_Norm, Features2D_BFMatch, Combine(Values(64, 128, 256), Val
...
@@ -170,6 +189,8 @@ PERF_TEST_P(DescSize_Norm, Features2D_BFMatch, Combine(Values(64, 128, 256), Val
{
{
matcher
.
match
(
query
,
train
,
matches
);
matcher
.
match
(
query
,
train
,
matches
);
}
}
SANITY_CHECK
(
matches
);
}
}
}
}
...
@@ -197,7 +218,7 @@ PERF_TEST_P(DescSize_K_Norm, Features2D_BFKnnMatch, Combine(
...
@@ -197,7 +218,7 @@ PERF_TEST_P(DescSize_K_Norm, Features2D_BFKnnMatch, Combine(
cv
::
Mat
train
(
3000
,
desc_size
,
type
);
cv
::
Mat
train
(
3000
,
desc_size
,
type
);
fillRandom
(
train
);
fillRandom
(
train
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
BFMatcher_GPU
d_matcher
(
normType
);
cv
::
gpu
::
BFMatcher_GPU
d_matcher
(
normType
);
...
@@ -211,6 +232,9 @@ PERF_TEST_P(DescSize_K_Norm, Features2D_BFKnnMatch, Combine(
...
@@ -211,6 +232,9 @@ PERF_TEST_P(DescSize_K_Norm, Features2D_BFKnnMatch, Combine(
{
{
d_matcher
.
knnMatchSingle
(
d_query
,
d_train
,
d_trainIdx
,
d_distance
,
d_allDist
,
k
);
d_matcher
.
knnMatchSingle
(
d_query
,
d_train
,
d_trainIdx
,
d_distance
,
d_allDist
,
k
);
}
}
GPU_SANITY_CHECK
(
d_trainIdx
);
GPU_SANITY_CHECK
(
d_distance
);
}
}
else
else
{
{
...
@@ -224,6 +248,8 @@ PERF_TEST_P(DescSize_K_Norm, Features2D_BFKnnMatch, Combine(
...
@@ -224,6 +248,8 @@ PERF_TEST_P(DescSize_K_Norm, Features2D_BFKnnMatch, Combine(
{
{
matcher
.
knnMatch
(
query
,
train
,
matches
,
k
);
matcher
.
knnMatch
(
query
,
train
,
matches
,
k
);
}
}
SANITY_CHECK
(
matches
);
}
}
}
}
...
@@ -245,7 +271,7 @@ PERF_TEST_P(DescSize_Norm, Features2D_BFRadiusMatch, Combine(Values(64, 128, 256
...
@@ -245,7 +271,7 @@ PERF_TEST_P(DescSize_Norm, Features2D_BFRadiusMatch, Combine(Values(64, 128, 256
cv
::
Mat
train
(
3000
,
desc_size
,
type
);
cv
::
Mat
train
(
3000
,
desc_size
,
type
);
fillRandom
(
train
,
0.0
,
1.0
);
fillRandom
(
train
,
0.0
,
1.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
BFMatcher_GPU
d_matcher
(
normType
);
cv
::
gpu
::
BFMatcher_GPU
d_matcher
(
normType
);
...
@@ -259,6 +285,9 @@ PERF_TEST_P(DescSize_Norm, Features2D_BFRadiusMatch, Combine(Values(64, 128, 256
...
@@ -259,6 +285,9 @@ PERF_TEST_P(DescSize_Norm, Features2D_BFRadiusMatch, Combine(Values(64, 128, 256
{
{
d_matcher
.
radiusMatchSingle
(
d_query
,
d_train
,
d_trainIdx
,
d_distance
,
d_nMatches
,
2.0
);
d_matcher
.
radiusMatchSingle
(
d_query
,
d_train
,
d_trainIdx
,
d_distance
,
d_nMatches
,
2.0
);
}
}
GPU_SANITY_CHECK
(
d_trainIdx
);
GPU_SANITY_CHECK
(
d_distance
);
}
}
else
else
{
{
...
@@ -272,6 +301,8 @@ PERF_TEST_P(DescSize_Norm, Features2D_BFRadiusMatch, Combine(Values(64, 128, 256
...
@@ -272,6 +301,8 @@ PERF_TEST_P(DescSize_Norm, Features2D_BFRadiusMatch, Combine(Values(64, 128, 256
{
{
matcher
.
radiusMatch
(
query
,
train
,
matches
,
2.0
);
matcher
.
radiusMatch
(
query
,
train
,
matches
,
2.0
);
}
}
SANITY_CHECK
(
matches
);
}
}
}
}
...
...
modules/gpu/perf/perf_filters.cpp
View file @
9368aa9f
...
@@ -21,7 +21,7 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Blur, Combine(GPU_TYPICAL_MAT_SIZES, Value
...
@@ -21,7 +21,7 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Blur, Combine(GPU_TYPICAL_MAT_SIZES, Value
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -32,6 +32,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Blur, Combine(GPU_TYPICAL_MAT_SIZES, Value
...
@@ -32,6 +32,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Blur, Combine(GPU_TYPICAL_MAT_SIZES, Value
{
{
cv
::
gpu
::
blur
(
d_src
,
d_dst
,
cv
::
Size
(
ksize
,
ksize
));
cv
::
gpu
::
blur
(
d_src
,
d_dst
,
cv
::
Size
(
ksize
,
ksize
));
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -43,6 +45,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Blur, Combine(GPU_TYPICAL_MAT_SIZES, Value
...
@@ -43,6 +45,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Blur, Combine(GPU_TYPICAL_MAT_SIZES, Value
{
{
cv
::
blur
(
src
,
dst
,
cv
::
Size
(
ksize
,
ksize
));
cv
::
blur
(
src
,
dst
,
cv
::
Size
(
ksize
,
ksize
));
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -60,7 +64,7 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Sobel, Combine(GPU_TYPICAL_MAT_SIZES, Valu
...
@@ -60,7 +64,7 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Sobel, Combine(GPU_TYPICAL_MAT_SIZES, Valu
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -72,6 +76,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Sobel, Combine(GPU_TYPICAL_MAT_SIZES, Valu
...
@@ -72,6 +76,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Sobel, Combine(GPU_TYPICAL_MAT_SIZES, Valu
{
{
cv
::
gpu
::
Sobel
(
d_src
,
d_dst
,
-
1
,
1
,
1
,
d_buf
,
ksize
);
cv
::
gpu
::
Sobel
(
d_src
,
d_dst
,
-
1
,
1
,
1
,
d_buf
,
ksize
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -83,6 +89,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Sobel, Combine(GPU_TYPICAL_MAT_SIZES, Valu
...
@@ -83,6 +89,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Sobel, Combine(GPU_TYPICAL_MAT_SIZES, Valu
{
{
cv
::
Sobel
(
src
,
dst
,
-
1
,
1
,
1
,
ksize
);
cv
::
Sobel
(
src
,
dst
,
-
1
,
1
,
1
,
ksize
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -99,7 +107,7 @@ PERF_TEST_P(Sz_Type, Filters_Scharr, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U
...
@@ -99,7 +107,7 @@ PERF_TEST_P(Sz_Type, Filters_Scharr, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -111,6 +119,8 @@ PERF_TEST_P(Sz_Type, Filters_Scharr, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U
...
@@ -111,6 +119,8 @@ PERF_TEST_P(Sz_Type, Filters_Scharr, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U
{
{
cv
::
gpu
::
Scharr
(
d_src
,
d_dst
,
-
1
,
1
,
0
,
d_buf
);
cv
::
gpu
::
Scharr
(
d_src
,
d_dst
,
-
1
,
1
,
0
,
d_buf
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -122,6 +132,8 @@ PERF_TEST_P(Sz_Type, Filters_Scharr, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U
...
@@ -122,6 +132,8 @@ PERF_TEST_P(Sz_Type, Filters_Scharr, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U
{
{
cv
::
Scharr
(
src
,
dst
,
-
1
,
1
,
0
);
cv
::
Scharr
(
src
,
dst
,
-
1
,
1
,
0
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -139,7 +151,7 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_GaussianBlur, Combine(GPU_TYPICAL_MAT_SIZE
...
@@ -139,7 +151,7 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_GaussianBlur, Combine(GPU_TYPICAL_MAT_SIZE
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -151,6 +163,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_GaussianBlur, Combine(GPU_TYPICAL_MAT_SIZE
...
@@ -151,6 +163,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_GaussianBlur, Combine(GPU_TYPICAL_MAT_SIZE
{
{
cv
::
gpu
::
GaussianBlur
(
d_src
,
d_dst
,
cv
::
Size
(
ksize
,
ksize
),
d_buf
,
0.5
);
cv
::
gpu
::
GaussianBlur
(
d_src
,
d_dst
,
cv
::
Size
(
ksize
,
ksize
),
d_buf
,
0.5
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -162,6 +176,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_GaussianBlur, Combine(GPU_TYPICAL_MAT_SIZE
...
@@ -162,6 +176,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_GaussianBlur, Combine(GPU_TYPICAL_MAT_SIZE
{
{
cv
::
GaussianBlur
(
src
,
dst
,
cv
::
Size
(
ksize
,
ksize
),
0.5
);
cv
::
GaussianBlur
(
src
,
dst
,
cv
::
Size
(
ksize
,
ksize
),
0.5
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -179,7 +195,7 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Laplacian, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -179,7 +195,7 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Laplacian, Combine(GPU_TYPICAL_MAT_SIZES,
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -190,6 +206,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Laplacian, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -190,6 +206,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Laplacian, Combine(GPU_TYPICAL_MAT_SIZES,
{
{
cv
::
gpu
::
Laplacian
(
d_src
,
d_dst
,
-
1
,
ksize
);
cv
::
gpu
::
Laplacian
(
d_src
,
d_dst
,
-
1
,
ksize
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -201,6 +219,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Laplacian, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -201,6 +219,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Laplacian, Combine(GPU_TYPICAL_MAT_SIZES,
{
{
cv
::
Laplacian
(
src
,
dst
,
-
1
,
ksize
);
cv
::
Laplacian
(
src
,
dst
,
-
1
,
ksize
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -219,7 +239,7 @@ PERF_TEST_P(Sz_Type, Filters_Erode, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8UC
...
@@ -219,7 +239,7 @@ PERF_TEST_P(Sz_Type, Filters_Erode, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8UC
cv
::
Mat
ker
=
cv
::
getStructuringElement
(
cv
::
MORPH_RECT
,
cv
::
Size
(
3
,
3
));
cv
::
Mat
ker
=
cv
::
getStructuringElement
(
cv
::
MORPH_RECT
,
cv
::
Size
(
3
,
3
));
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -231,6 +251,8 @@ PERF_TEST_P(Sz_Type, Filters_Erode, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8UC
...
@@ -231,6 +251,8 @@ PERF_TEST_P(Sz_Type, Filters_Erode, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8UC
{
{
cv
::
gpu
::
erode
(
d_src
,
d_dst
,
ker
,
d_buf
);
cv
::
gpu
::
erode
(
d_src
,
d_dst
,
ker
,
d_buf
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -242,6 +264,8 @@ PERF_TEST_P(Sz_Type, Filters_Erode, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8UC
...
@@ -242,6 +264,8 @@ PERF_TEST_P(Sz_Type, Filters_Erode, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8UC
{
{
cv
::
erode
(
src
,
dst
,
ker
);
cv
::
erode
(
src
,
dst
,
ker
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -260,7 +284,7 @@ PERF_TEST_P(Sz_Type, Filters_Dilate, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U
...
@@ -260,7 +284,7 @@ PERF_TEST_P(Sz_Type, Filters_Dilate, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U
cv
::
Mat
ker
=
cv
::
getStructuringElement
(
cv
::
MORPH_RECT
,
cv
::
Size
(
3
,
3
));
cv
::
Mat
ker
=
cv
::
getStructuringElement
(
cv
::
MORPH_RECT
,
cv
::
Size
(
3
,
3
));
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -272,6 +296,8 @@ PERF_TEST_P(Sz_Type, Filters_Dilate, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U
...
@@ -272,6 +296,8 @@ PERF_TEST_P(Sz_Type, Filters_Dilate, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U
{
{
cv
::
gpu
::
dilate
(
d_src
,
d_dst
,
ker
,
d_buf
);
cv
::
gpu
::
dilate
(
d_src
,
d_dst
,
ker
,
d_buf
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -283,6 +309,8 @@ PERF_TEST_P(Sz_Type, Filters_Dilate, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U
...
@@ -283,6 +309,8 @@ PERF_TEST_P(Sz_Type, Filters_Dilate, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U
{
{
cv
::
dilate
(
src
,
dst
,
ker
);
cv
::
dilate
(
src
,
dst
,
ker
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -307,7 +335,7 @@ PERF_TEST_P(Sz_Type_Op, Filters_MorphologyEx, Combine(GPU_TYPICAL_MAT_SIZES, Val
...
@@ -307,7 +335,7 @@ PERF_TEST_P(Sz_Type_Op, Filters_MorphologyEx, Combine(GPU_TYPICAL_MAT_SIZES, Val
cv
::
Mat
ker
=
cv
::
getStructuringElement
(
cv
::
MORPH_RECT
,
cv
::
Size
(
3
,
3
));
cv
::
Mat
ker
=
cv
::
getStructuringElement
(
cv
::
MORPH_RECT
,
cv
::
Size
(
3
,
3
));
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -320,6 +348,8 @@ PERF_TEST_P(Sz_Type_Op, Filters_MorphologyEx, Combine(GPU_TYPICAL_MAT_SIZES, Val
...
@@ -320,6 +348,8 @@ PERF_TEST_P(Sz_Type_Op, Filters_MorphologyEx, Combine(GPU_TYPICAL_MAT_SIZES, Val
{
{
cv
::
gpu
::
morphologyEx
(
d_src
,
d_dst
,
morphOp
,
ker
,
d_buf1
,
d_buf2
);
cv
::
gpu
::
morphologyEx
(
d_src
,
d_dst
,
morphOp
,
ker
,
d_buf1
,
d_buf2
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -331,6 +361,8 @@ PERF_TEST_P(Sz_Type_Op, Filters_MorphologyEx, Combine(GPU_TYPICAL_MAT_SIZES, Val
...
@@ -331,6 +361,8 @@ PERF_TEST_P(Sz_Type_Op, Filters_MorphologyEx, Combine(GPU_TYPICAL_MAT_SIZES, Val
{
{
cv
::
morphologyEx
(
src
,
dst
,
morphOp
,
ker
);
cv
::
morphologyEx
(
src
,
dst
,
morphOp
,
ker
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -351,7 +383,7 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Filter2D, Combine(GPU_TYPICAL_MAT_SIZES, V
...
@@ -351,7 +383,7 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Filter2D, Combine(GPU_TYPICAL_MAT_SIZES, V
cv
::
Mat
kernel
(
ksize
,
ksize
,
CV_32FC1
);
cv
::
Mat
kernel
(
ksize
,
ksize
,
CV_32FC1
);
fillRandom
(
kernel
,
0.0
,
1.0
);
fillRandom
(
kernel
,
0.0
,
1.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -362,6 +394,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Filter2D, Combine(GPU_TYPICAL_MAT_SIZES, V
...
@@ -362,6 +394,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Filter2D, Combine(GPU_TYPICAL_MAT_SIZES, V
{
{
cv
::
gpu
::
filter2D
(
d_src
,
d_dst
,
-
1
,
kernel
);
cv
::
gpu
::
filter2D
(
d_src
,
d_dst
,
-
1
,
kernel
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -373,6 +407,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Filter2D, Combine(GPU_TYPICAL_MAT_SIZES, V
...
@@ -373,6 +407,8 @@ PERF_TEST_P(Sz_Type_KernelSz, Filters_Filter2D, Combine(GPU_TYPICAL_MAT_SIZES, V
{
{
cv
::
filter2D
(
src
,
dst
,
-
1
,
kernel
);
cv
::
filter2D
(
src
,
dst
,
-
1
,
kernel
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
...
modules/gpu/perf/perf_imgproc.cpp
View file @
9368aa9f
...
@@ -78,7 +78,7 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border_Mode, ImgProc_Remap, Combine(
...
@@ -78,7 +78,7 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border_Mode, ImgProc_Remap, Combine(
generateMap
(
xmap
,
ymap
,
remapMode
);
generateMap
(
xmap
,
ymap
,
remapMode
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_xmap
(
xmap
);
cv
::
gpu
::
GpuMat
d_xmap
(
xmap
);
...
@@ -91,6 +91,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border_Mode, ImgProc_Remap, Combine(
...
@@ -91,6 +91,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border_Mode, ImgProc_Remap, Combine(
{
{
cv
::
gpu
::
remap
(
d_src
,
d_dst
,
d_xmap
,
d_ymap
,
interpolation
,
borderMode
);
cv
::
gpu
::
remap
(
d_src
,
d_dst
,
d_xmap
,
d_ymap
,
interpolation
,
borderMode
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -130,7 +132,7 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Scale, ImgProc_Resize, Combine(
...
@@ -130,7 +132,7 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Scale, ImgProc_Resize, Combine(
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -141,6 +143,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Scale, ImgProc_Resize, Combine(
...
@@ -141,6 +143,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Scale, ImgProc_Resize, Combine(
{
{
cv
::
gpu
::
resize
(
d_src
,
d_dst
,
cv
::
Size
(),
f
,
f
,
interpolation
);
cv
::
gpu
::
resize
(
d_src
,
d_dst
,
cv
::
Size
(),
f
,
f
,
interpolation
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -179,7 +183,7 @@ PERF_TEST_P(Sz_Depth_Cn_Scale, ImgProc_ResizeArea, Combine(
...
@@ -179,7 +183,7 @@ PERF_TEST_P(Sz_Depth_Cn_Scale, ImgProc_ResizeArea, Combine(
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -190,6 +194,8 @@ PERF_TEST_P(Sz_Depth_Cn_Scale, ImgProc_ResizeArea, Combine(
...
@@ -190,6 +194,8 @@ PERF_TEST_P(Sz_Depth_Cn_Scale, ImgProc_ResizeArea, Combine(
{
{
cv
::
gpu
::
resize
(
d_src
,
d_dst
,
cv
::
Size
(),
f
,
f
,
interpolation
);
cv
::
gpu
::
resize
(
d_src
,
d_dst
,
cv
::
Size
(),
f
,
f
,
interpolation
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -234,7 +240,7 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border, ImgProc_WarpAffine, Combine(
...
@@ -234,7 +240,7 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border, ImgProc_WarpAffine, Combine(
{
std
::
sin
(
aplha
),
std
::
cos
(
aplha
),
0
}};
{
std
::
sin
(
aplha
),
std
::
cos
(
aplha
),
0
}};
cv
::
Mat
M
(
2
,
3
,
CV_64F
,
(
void
*
)
mat
);
cv
::
Mat
M
(
2
,
3
,
CV_64F
,
(
void
*
)
mat
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -245,6 +251,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border, ImgProc_WarpAffine, Combine(
...
@@ -245,6 +251,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border, ImgProc_WarpAffine, Combine(
{
{
cv
::
gpu
::
warpAffine
(
d_src
,
d_dst
,
M
,
size
,
interpolation
,
borderMode
);
cv
::
gpu
::
warpAffine
(
d_src
,
d_dst
,
M
,
size
,
interpolation
,
borderMode
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -288,7 +296,7 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border, ImgProc_WarpPerspective, Combine(
...
@@ -288,7 +296,7 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border, ImgProc_WarpPerspective, Combine(
{
0.0
,
0.0
,
1.0
}};
{
0.0
,
0.0
,
1.0
}};
cv
::
Mat
M
(
3
,
3
,
CV_64F
,
(
void
*
)
mat
);
cv
::
Mat
M
(
3
,
3
,
CV_64F
,
(
void
*
)
mat
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -299,6 +307,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border, ImgProc_WarpPerspective, Combine(
...
@@ -299,6 +307,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border, ImgProc_WarpPerspective, Combine(
{
{
cv
::
gpu
::
warpPerspective
(
d_src
,
d_dst
,
M
,
size
,
interpolation
,
borderMode
);
cv
::
gpu
::
warpPerspective
(
d_src
,
d_dst
,
M
,
size
,
interpolation
,
borderMode
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -334,7 +344,7 @@ PERF_TEST_P(Sz_Depth_Cn_Border, ImgProc_CopyMakeBorder, Combine(
...
@@ -334,7 +344,7 @@ PERF_TEST_P(Sz_Depth_Cn_Border, ImgProc_CopyMakeBorder, Combine(
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -345,6 +355,8 @@ PERF_TEST_P(Sz_Depth_Cn_Border, ImgProc_CopyMakeBorder, Combine(
...
@@ -345,6 +355,8 @@ PERF_TEST_P(Sz_Depth_Cn_Border, ImgProc_CopyMakeBorder, Combine(
{
{
cv
::
gpu
::
copyMakeBorder
(
d_src
,
d_dst
,
5
,
5
,
5
,
5
,
borderMode
);
cv
::
gpu
::
copyMakeBorder
(
d_src
,
d_dst
,
5
,
5
,
5
,
5
,
borderMode
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -379,7 +391,7 @@ PERF_TEST_P(Sz_Depth_Op, ImgProc_Threshold, Combine(
...
@@ -379,7 +391,7 @@ PERF_TEST_P(Sz_Depth_Op, ImgProc_Threshold, Combine(
cv
::
Mat
src
(
size
,
depth
);
cv
::
Mat
src
(
size
,
depth
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -390,6 +402,8 @@ PERF_TEST_P(Sz_Depth_Op, ImgProc_Threshold, Combine(
...
@@ -390,6 +402,8 @@ PERF_TEST_P(Sz_Depth_Op, ImgProc_Threshold, Combine(
{
{
cv
::
gpu
::
threshold
(
d_src
,
d_dst
,
100.0
,
255.0
,
threshOp
);
cv
::
gpu
::
threshold
(
d_src
,
d_dst
,
100.0
,
255.0
,
threshOp
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -414,7 +428,7 @@ PERF_TEST_P(Sz, ImgProc_Integral, GPU_TYPICAL_MAT_SIZES)
...
@@ -414,7 +428,7 @@ PERF_TEST_P(Sz, ImgProc_Integral, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
src
(
size
,
CV_8UC1
);
cv
::
Mat
src
(
size
,
CV_8UC1
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -426,6 +440,8 @@ PERF_TEST_P(Sz, ImgProc_Integral, GPU_TYPICAL_MAT_SIZES)
...
@@ -426,6 +440,8 @@ PERF_TEST_P(Sz, ImgProc_Integral, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
integralBuffered
(
d_src
,
d_dst
,
d_buf
);
cv
::
gpu
::
integralBuffered
(
d_src
,
d_dst
,
d_buf
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -450,7 +466,7 @@ PERF_TEST_P(Sz, ImgProc_IntegralSqr, GPU_TYPICAL_MAT_SIZES)
...
@@ -450,7 +466,7 @@ PERF_TEST_P(Sz, ImgProc_IntegralSqr, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
src
(
size
,
CV_8UC1
);
cv
::
Mat
src
(
size
,
CV_8UC1
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -461,10 +477,12 @@ PERF_TEST_P(Sz, ImgProc_IntegralSqr, GPU_TYPICAL_MAT_SIZES)
...
@@ -461,10 +477,12 @@ PERF_TEST_P(Sz, ImgProc_IntegralSqr, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
sqrIntegral
(
d_src
,
d_dst
);
cv
::
gpu
::
sqrIntegral
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -479,7 +497,7 @@ PERF_TEST_P(Sz_Depth, ImgProc_HistEvenC1, Combine(GPU_TYPICAL_MAT_SIZES, Values(
...
@@ -479,7 +497,7 @@ PERF_TEST_P(Sz_Depth, ImgProc_HistEvenC1, Combine(GPU_TYPICAL_MAT_SIZES, Values(
cv
::
Mat
src
(
size
,
depth
);
cv
::
Mat
src
(
size
,
depth
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_hist
;
cv
::
gpu
::
GpuMat
d_hist
;
...
@@ -491,6 +509,8 @@ PERF_TEST_P(Sz_Depth, ImgProc_HistEvenC1, Combine(GPU_TYPICAL_MAT_SIZES, Values(
...
@@ -491,6 +509,8 @@ PERF_TEST_P(Sz_Depth, ImgProc_HistEvenC1, Combine(GPU_TYPICAL_MAT_SIZES, Values(
{
{
cv
::
gpu
::
histEven
(
d_src
,
d_hist
,
d_buf
,
30
,
0
,
180
);
cv
::
gpu
::
histEven
(
d_src
,
d_hist
,
d_buf
,
30
,
0
,
180
);
}
}
GPU_SANITY_CHECK
(
d_hist
);
}
}
else
else
{
{
...
@@ -526,11 +546,11 @@ PERF_TEST_P(Sz_Depth, ImgProc_HistEvenC4, Combine(GPU_TYPICAL_MAT_SIZES, Values(
...
@@ -526,11 +546,11 @@ PERF_TEST_P(Sz_Depth, ImgProc_HistEvenC4, Combine(GPU_TYPICAL_MAT_SIZES, Values(
int
lowerLevel
[]
=
{
0
,
0
,
0
,
0
};
int
lowerLevel
[]
=
{
0
,
0
,
0
,
0
};
int
upperLevel
[]
=
{
180
,
180
,
180
,
180
};
int
upperLevel
[]
=
{
180
,
180
,
180
,
180
};
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_hist
[
4
];
cv
::
gpu
::
GpuMat
d_hist
[
4
];
cv
::
gpu
::
GpuMat
d_buf
;
cv
::
gpu
::
GpuMat
d_buf
,
d_hist0
;
cv
::
gpu
::
histEven
(
d_src
,
d_hist
,
d_buf
,
histSize
,
lowerLevel
,
upperLevel
);
cv
::
gpu
::
histEven
(
d_src
,
d_hist
,
d_buf
,
histSize
,
lowerLevel
,
upperLevel
);
...
@@ -538,10 +558,12 @@ PERF_TEST_P(Sz_Depth, ImgProc_HistEvenC4, Combine(GPU_TYPICAL_MAT_SIZES, Values(
...
@@ -538,10 +558,12 @@ PERF_TEST_P(Sz_Depth, ImgProc_HistEvenC4, Combine(GPU_TYPICAL_MAT_SIZES, Values(
{
{
cv
::
gpu
::
histEven
(
d_src
,
d_hist
,
d_buf
,
histSize
,
lowerLevel
,
upperLevel
);
cv
::
gpu
::
histEven
(
d_src
,
d_hist
,
d_buf
,
histSize
,
lowerLevel
,
upperLevel
);
}
}
GPU_SANITY_CHECK
(
d_hist0
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -555,7 +577,7 @@ PERF_TEST_P(Sz, ImgProc_CalcHist, GPU_TYPICAL_MAT_SIZES)
...
@@ -555,7 +577,7 @@ PERF_TEST_P(Sz, ImgProc_CalcHist, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
src
(
size
,
CV_8UC1
);
cv
::
Mat
src
(
size
,
CV_8UC1
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_hist
;
cv
::
gpu
::
GpuMat
d_hist
;
...
@@ -567,10 +589,12 @@ PERF_TEST_P(Sz, ImgProc_CalcHist, GPU_TYPICAL_MAT_SIZES)
...
@@ -567,10 +589,12 @@ PERF_TEST_P(Sz, ImgProc_CalcHist, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
calcHist
(
d_src
,
d_hist
,
d_buf
);
cv
::
gpu
::
calcHist
(
d_src
,
d_hist
,
d_buf
);
}
}
GPU_SANITY_CHECK
(
d_hist
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -584,7 +608,7 @@ PERF_TEST_P(Sz, ImgProc_EqualizeHist, GPU_TYPICAL_MAT_SIZES)
...
@@ -584,7 +608,7 @@ PERF_TEST_P(Sz, ImgProc_EqualizeHist, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
src
(
size
,
CV_8UC1
);
cv
::
Mat
src
(
size
,
CV_8UC1
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -597,6 +621,8 @@ PERF_TEST_P(Sz, ImgProc_EqualizeHist, GPU_TYPICAL_MAT_SIZES)
...
@@ -597,6 +621,8 @@ PERF_TEST_P(Sz, ImgProc_EqualizeHist, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
equalizeHist
(
d_src
,
d_dst
,
d_hist
,
d_buf
);
cv
::
gpu
::
equalizeHist
(
d_src
,
d_dst
,
d_hist
,
d_buf
);
}
}
GPU_SANITY_CHECK
(
d_hist
);
}
}
else
else
{
{
...
@@ -621,7 +647,7 @@ PERF_TEST_P(Sz, ImgProc_ColumnSum, GPU_TYPICAL_MAT_SIZES)
...
@@ -621,7 +647,7 @@ PERF_TEST_P(Sz, ImgProc_ColumnSum, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
src
(
size
,
CV_32FC1
);
cv
::
Mat
src
(
size
,
CV_32FC1
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -632,10 +658,12 @@ PERF_TEST_P(Sz, ImgProc_ColumnSum, GPU_TYPICAL_MAT_SIZES)
...
@@ -632,10 +658,12 @@ PERF_TEST_P(Sz, ImgProc_ColumnSum, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
columnSum
(
d_src
,
d_dst
);
cv
::
gpu
::
columnSum
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -656,7 +684,7 @@ PERF_TEST_P(Image_AppertureSz_L2gradient, ImgProc_Canny, Combine(
...
@@ -656,7 +684,7 @@ PERF_TEST_P(Image_AppertureSz_L2gradient, ImgProc_Canny, Combine(
cv
::
Mat
image
=
readImage
(
fileName
,
cv
::
IMREAD_GRAYSCALE
);
cv
::
Mat
image
=
readImage
(
fileName
,
cv
::
IMREAD_GRAYSCALE
);
ASSERT_FALSE
(
image
.
empty
());
ASSERT_FALSE
(
image
.
empty
());
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_image
(
image
);
cv
::
gpu
::
GpuMat
d_image
(
image
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -668,6 +696,8 @@ PERF_TEST_P(Image_AppertureSz_L2gradient, ImgProc_Canny, Combine(
...
@@ -668,6 +696,8 @@ PERF_TEST_P(Image_AppertureSz_L2gradient, ImgProc_Canny, Combine(
{
{
cv
::
gpu
::
Canny
(
d_image
,
d_buf
,
d_dst
,
50.0
,
100.0
,
apperture_size
,
useL2gradient
);
cv
::
gpu
::
Canny
(
d_image
,
d_buf
,
d_dst
,
50.0
,
100.0
,
apperture_size
,
useL2gradient
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -697,7 +727,7 @@ PERF_TEST_P(Image, ImgProc_MeanShiftFiltering, Values<string>("gpu/meanshift/con
...
@@ -697,7 +727,7 @@ PERF_TEST_P(Image, ImgProc_MeanShiftFiltering, Values<string>("gpu/meanshift/con
cv
::
Mat
rgba
;
cv
::
Mat
rgba
;
cv
::
cvtColor
(
img
,
rgba
,
cv
::
COLOR_BGR2BGRA
);
cv
::
cvtColor
(
img
,
rgba
,
cv
::
COLOR_BGR2BGRA
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
rgba
);
cv
::
gpu
::
GpuMat
d_src
(
rgba
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -708,6 +738,8 @@ PERF_TEST_P(Image, ImgProc_MeanShiftFiltering, Values<string>("gpu/meanshift/con
...
@@ -708,6 +738,8 @@ PERF_TEST_P(Image, ImgProc_MeanShiftFiltering, Values<string>("gpu/meanshift/con
{
{
cv
::
gpu
::
meanShiftFiltering
(
d_src
,
d_dst
,
50
,
50
);
cv
::
gpu
::
meanShiftFiltering
(
d_src
,
d_dst
,
50
,
50
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -735,7 +767,7 @@ PERF_TEST_P(Image, ImgProc_MeanShiftProc, Values<string>("gpu/meanshift/cones.pn
...
@@ -735,7 +767,7 @@ PERF_TEST_P(Image, ImgProc_MeanShiftProc, Values<string>("gpu/meanshift/cones.pn
cv
::
Mat
rgba
;
cv
::
Mat
rgba
;
cv
::
cvtColor
(
img
,
rgba
,
cv
::
COLOR_BGR2BGRA
);
cv
::
cvtColor
(
img
,
rgba
,
cv
::
COLOR_BGR2BGRA
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
rgba
);
cv
::
gpu
::
GpuMat
d_src
(
rgba
);
cv
::
gpu
::
GpuMat
d_dstr
;
cv
::
gpu
::
GpuMat
d_dstr
;
...
@@ -747,10 +779,12 @@ PERF_TEST_P(Image, ImgProc_MeanShiftProc, Values<string>("gpu/meanshift/cones.pn
...
@@ -747,10 +779,12 @@ PERF_TEST_P(Image, ImgProc_MeanShiftProc, Values<string>("gpu/meanshift/cones.pn
{
{
cv
::
gpu
::
meanShiftProc
(
d_src
,
d_dstr
,
d_dstsp
,
50
,
50
);
cv
::
gpu
::
meanShiftProc
(
d_src
,
d_dstr
,
d_dstsp
,
50
,
50
);
}
}
GPU_SANITY_CHECK
(
d_dstr
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -769,7 +803,7 @@ PERF_TEST_P(Image, ImgProc_MeanShiftSegmentation, Values<string>("gpu/meanshift/
...
@@ -769,7 +803,7 @@ PERF_TEST_P(Image, ImgProc_MeanShiftSegmentation, Values<string>("gpu/meanshift/
cv
::
Mat
dst
;
cv
::
Mat
dst
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
rgba
);
cv
::
gpu
::
GpuMat
d_src
(
rgba
);
...
@@ -779,10 +813,12 @@ PERF_TEST_P(Image, ImgProc_MeanShiftSegmentation, Values<string>("gpu/meanshift/
...
@@ -779,10 +813,12 @@ PERF_TEST_P(Image, ImgProc_MeanShiftSegmentation, Values<string>("gpu/meanshift/
{
{
cv
::
gpu
::
meanShiftSegmentation
(
d_src
,
dst
,
10
,
10
,
20
);
cv
::
gpu
::
meanShiftSegmentation
(
d_src
,
dst
,
10
,
10
,
20
);
}
}
GPU_SANITY_CHECK
(
dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -803,7 +839,7 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_BlendLinear, Combine(GPU_TYPICAL_MAT_SIZES, Val
...
@@ -803,7 +839,7 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_BlendLinear, Combine(GPU_TYPICAL_MAT_SIZES, Val
cv
::
Mat
img2
(
size
,
type
);
cv
::
Mat
img2
(
size
,
type
);
fillRandom
(
img2
);
fillRandom
(
img2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_img1
(
img1
);
cv
::
gpu
::
GpuMat
d_img1
(
img1
);
cv
::
gpu
::
GpuMat
d_img2
(
img2
);
cv
::
gpu
::
GpuMat
d_img2
(
img2
);
...
@@ -817,10 +853,12 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_BlendLinear, Combine(GPU_TYPICAL_MAT_SIZES, Val
...
@@ -817,10 +853,12 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_BlendLinear, Combine(GPU_TYPICAL_MAT_SIZES, Val
{
{
cv
::
gpu
::
blendLinear
(
d_img1
,
d_img2
,
d_weights1
,
d_weights2
,
d_dst
);
cv
::
gpu
::
blendLinear
(
d_img1
,
d_img2
,
d_weights1
,
d_weights2
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -843,7 +881,7 @@ PERF_TEST_P(Sz_KernelSz_Ccorr, ImgProc_Convolve, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -843,7 +881,7 @@ PERF_TEST_P(Sz_KernelSz_Ccorr, ImgProc_Convolve, Combine(GPU_TYPICAL_MAT_SIZES,
cv
::
Mat
templ
(
templ_size
,
templ_size
,
CV_32FC1
);
cv
::
Mat
templ
(
templ_size
,
templ_size
,
CV_32FC1
);
templ
.
setTo
(
1.0
);
templ
.
setTo
(
1.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_image
=
cv
::
gpu
::
createContinuous
(
size
,
CV_32FC1
);
cv
::
gpu
::
GpuMat
d_image
=
cv
::
gpu
::
createContinuous
(
size
,
CV_32FC1
);
d_image
.
upload
(
image
);
d_image
.
upload
(
image
);
...
@@ -860,6 +898,8 @@ PERF_TEST_P(Sz_KernelSz_Ccorr, ImgProc_Convolve, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -860,6 +898,8 @@ PERF_TEST_P(Sz_KernelSz_Ccorr, ImgProc_Convolve, Combine(GPU_TYPICAL_MAT_SIZES,
{
{
cv
::
gpu
::
convolve
(
d_image
,
d_templ
,
d_dst
,
ccorr
,
d_buf
);
cv
::
gpu
::
convolve
(
d_image
,
d_templ
,
d_dst
,
ccorr
,
d_buf
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -873,6 +913,8 @@ PERF_TEST_P(Sz_KernelSz_Ccorr, ImgProc_Convolve, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -873,6 +913,8 @@ PERF_TEST_P(Sz_KernelSz_Ccorr, ImgProc_Convolve, Combine(GPU_TYPICAL_MAT_SIZES,
{
{
cv
::
filter2D
(
image
,
dst
,
image
.
depth
(),
templ
);
cv
::
filter2D
(
image
,
dst
,
image
.
depth
(),
templ
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -901,7 +943,7 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate8U, Combine(
...
@@ -901,7 +943,7 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate8U, Combine(
cv
::
Mat
templ
(
templ_size
,
CV_MAKE_TYPE
(
CV_8U
,
cn
));
cv
::
Mat
templ
(
templ_size
,
CV_MAKE_TYPE
(
CV_8U
,
cn
));
fillRandom
(
templ
);
fillRandom
(
templ
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_image
(
image
);
cv
::
gpu
::
GpuMat
d_image
(
image
);
cv
::
gpu
::
GpuMat
d_templ
(
templ
);
cv
::
gpu
::
GpuMat
d_templ
(
templ
);
...
@@ -913,6 +955,8 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate8U, Combine(
...
@@ -913,6 +955,8 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate8U, Combine(
{
{
cv
::
gpu
::
matchTemplate
(
d_image
,
d_templ
,
d_dst
,
method
);
cv
::
gpu
::
matchTemplate
(
d_image
,
d_templ
,
d_dst
,
method
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -924,6 +968,8 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate8U, Combine(
...
@@ -924,6 +968,8 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate8U, Combine(
{
{
cv
::
matchTemplate
(
image
,
templ
,
dst
,
method
);
cv
::
matchTemplate
(
image
,
templ
,
dst
,
method
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
};
};
...
@@ -947,7 +993,7 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate32F, Combine(
...
@@ -947,7 +993,7 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate32F, Combine(
cv
::
Mat
templ
(
templ_size
,
CV_MAKE_TYPE
(
CV_32F
,
cn
));
cv
::
Mat
templ
(
templ_size
,
CV_MAKE_TYPE
(
CV_32F
,
cn
));
fillRandom
(
templ
);
fillRandom
(
templ
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_image
(
image
);
cv
::
gpu
::
GpuMat
d_image
(
image
);
cv
::
gpu
::
GpuMat
d_templ
(
templ
);
cv
::
gpu
::
GpuMat
d_templ
(
templ
);
...
@@ -959,6 +1005,8 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate32F, Combine(
...
@@ -959,6 +1005,8 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate32F, Combine(
{
{
cv
::
gpu
::
matchTemplate
(
d_image
,
d_templ
,
d_dst
,
method
);
cv
::
gpu
::
matchTemplate
(
d_image
,
d_templ
,
d_dst
,
method
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -970,6 +1018,8 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate32F, Combine(
...
@@ -970,6 +1018,8 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate32F, Combine(
{
{
cv
::
matchTemplate
(
image
,
templ
,
dst
,
method
);
cv
::
matchTemplate
(
image
,
templ
,
dst
,
method
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
};
};
...
@@ -993,7 +1043,7 @@ PERF_TEST_P(Sz_Flags, ImgProc_MulSpectrums, Combine(
...
@@ -993,7 +1043,7 @@ PERF_TEST_P(Sz_Flags, ImgProc_MulSpectrums, Combine(
cv
::
Mat
b
(
size
,
CV_32FC2
);
cv
::
Mat
b
(
size
,
CV_32FC2
);
fillRandom
(
b
,
0
,
100
);
fillRandom
(
b
,
0
,
100
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_a
(
a
);
cv
::
gpu
::
GpuMat
d_a
(
a
);
cv
::
gpu
::
GpuMat
d_b
(
b
);
cv
::
gpu
::
GpuMat
d_b
(
b
);
...
@@ -1005,6 +1055,8 @@ PERF_TEST_P(Sz_Flags, ImgProc_MulSpectrums, Combine(
...
@@ -1005,6 +1055,8 @@ PERF_TEST_P(Sz_Flags, ImgProc_MulSpectrums, Combine(
{
{
cv
::
gpu
::
mulSpectrums
(
d_a
,
d_b
,
d_dst
,
flag
);
cv
::
gpu
::
mulSpectrums
(
d_a
,
d_b
,
d_dst
,
flag
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1016,6 +1068,8 @@ PERF_TEST_P(Sz_Flags, ImgProc_MulSpectrums, Combine(
...
@@ -1016,6 +1068,8 @@ PERF_TEST_P(Sz_Flags, ImgProc_MulSpectrums, Combine(
{
{
cv
::
mulSpectrums
(
a
,
b
,
dst
,
flag
);
cv
::
mulSpectrums
(
a
,
b
,
dst
,
flag
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1034,7 +1088,7 @@ PERF_TEST_P(Sz, ImgProc_MulAndScaleSpectrums, GPU_TYPICAL_MAT_SIZES)
...
@@ -1034,7 +1088,7 @@ PERF_TEST_P(Sz, ImgProc_MulAndScaleSpectrums, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
src2
(
size
,
CV_32FC2
);
cv
::
Mat
src2
(
size
,
CV_32FC2
);
fillRandom
(
src2
,
0
,
100
);
fillRandom
(
src2
,
0
,
100
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src1
(
src1
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
cv
::
gpu
::
GpuMat
d_src2
(
src2
);
...
@@ -1046,10 +1100,12 @@ PERF_TEST_P(Sz, ImgProc_MulAndScaleSpectrums, GPU_TYPICAL_MAT_SIZES)
...
@@ -1046,10 +1100,12 @@ PERF_TEST_P(Sz, ImgProc_MulAndScaleSpectrums, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
mulAndScaleSpectrums
(
d_src1
,
d_src2
,
d_dst
,
cv
::
DFT_ROWS
,
scale
,
false
);
cv
::
gpu
::
mulAndScaleSpectrums
(
d_src1
,
d_src2
,
d_dst
,
cv
::
DFT_ROWS
,
scale
,
false
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -1068,7 +1124,7 @@ PERF_TEST_P(Sz_Flags, ImgProc_Dft, Combine(
...
@@ -1068,7 +1124,7 @@ PERF_TEST_P(Sz_Flags, ImgProc_Dft, Combine(
cv
::
Mat
src
(
size
,
CV_32FC2
);
cv
::
Mat
src
(
size
,
CV_32FC2
);
fillRandom
(
src
,
0
,
100
);
fillRandom
(
src
,
0
,
100
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1079,6 +1135,8 @@ PERF_TEST_P(Sz_Flags, ImgProc_Dft, Combine(
...
@@ -1079,6 +1135,8 @@ PERF_TEST_P(Sz_Flags, ImgProc_Dft, Combine(
{
{
cv
::
gpu
::
dft
(
d_src
,
d_dst
,
size
,
flag
);
cv
::
gpu
::
dft
(
d_src
,
d_dst
,
size
,
flag
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1090,6 +1148,8 @@ PERF_TEST_P(Sz_Flags, ImgProc_Dft, Combine(
...
@@ -1090,6 +1148,8 @@ PERF_TEST_P(Sz_Flags, ImgProc_Dft, Combine(
{
{
cv
::
dft
(
src
,
dst
,
flag
);
cv
::
dft
(
src
,
dst
,
flag
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1117,7 +1177,7 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerHarris, Combine(
...
@@ -1117,7 +1177,7 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerHarris, Combine(
double
k
=
0.5
;
double
k
=
0.5
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_img
(
img
);
cv
::
gpu
::
GpuMat
d_img
(
img
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1131,6 +1191,8 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerHarris, Combine(
...
@@ -1131,6 +1191,8 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerHarris, Combine(
{
{
cv
::
gpu
::
cornerHarris
(
d_img
,
d_dst
,
d_Dx
,
d_Dy
,
d_buf
,
blockSize
,
apertureSize
,
k
,
borderMode
);
cv
::
gpu
::
cornerHarris
(
d_img
,
d_dst
,
d_Dx
,
d_Dy
,
d_buf
,
blockSize
,
apertureSize
,
k
,
borderMode
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1142,6 +1204,8 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerHarris, Combine(
...
@@ -1142,6 +1204,8 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerHarris, Combine(
{
{
cv
::
cornerHarris
(
img
,
dst
,
blockSize
,
apertureSize
,
k
,
borderMode
);
cv
::
cornerHarris
(
img
,
dst
,
blockSize
,
apertureSize
,
k
,
borderMode
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1166,7 +1230,7 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerMinEigenVal, Com
...
@@ -1166,7 +1230,7 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerMinEigenVal, Com
img
.
convertTo
(
img
,
type
,
type
==
CV_32F
?
1.0
/
255.0
:
1.0
);
img
.
convertTo
(
img
,
type
,
type
==
CV_32F
?
1.0
/
255.0
:
1.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_img
(
img
);
cv
::
gpu
::
GpuMat
d_img
(
img
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1180,6 +1244,8 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerMinEigenVal, Com
...
@@ -1180,6 +1244,8 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerMinEigenVal, Com
{
{
cv
::
gpu
::
cornerMinEigenVal
(
d_img
,
d_dst
,
d_Dx
,
d_Dy
,
d_buf
,
blockSize
,
apertureSize
,
borderMode
);
cv
::
gpu
::
cornerMinEigenVal
(
d_img
,
d_dst
,
d_Dx
,
d_Dy
,
d_buf
,
blockSize
,
apertureSize
,
borderMode
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1191,6 +1257,8 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerMinEigenVal, Com
...
@@ -1191,6 +1257,8 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerMinEigenVal, Com
{
{
cv
::
cornerMinEigenVal
(
img
,
dst
,
blockSize
,
apertureSize
,
borderMode
);
cv
::
cornerMinEigenVal
(
img
,
dst
,
blockSize
,
apertureSize
,
borderMode
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1205,7 +1273,7 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpPlaneMaps, GPU_TYPICAL_MAT_SIZES)
...
@@ -1205,7 +1273,7 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpPlaneMaps, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
R
=
cv
::
Mat
::
ones
(
3
,
3
,
CV_32FC1
);
cv
::
Mat
R
=
cv
::
Mat
::
ones
(
3
,
3
,
CV_32FC1
);
cv
::
Mat
T
=
cv
::
Mat
::
zeros
(
1
,
3
,
CV_32F
);
cv
::
Mat
T
=
cv
::
Mat
::
zeros
(
1
,
3
,
CV_32F
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_map_x
;
cv
::
gpu
::
GpuMat
d_map_x
;
cv
::
gpu
::
GpuMat
d_map_y
;
cv
::
gpu
::
GpuMat
d_map_y
;
...
@@ -1216,10 +1284,13 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpPlaneMaps, GPU_TYPICAL_MAT_SIZES)
...
@@ -1216,10 +1284,13 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpPlaneMaps, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
buildWarpPlaneMaps
(
size
,
cv
::
Rect
(
0
,
0
,
size
.
width
,
size
.
height
),
K
,
R
,
T
,
1.0
,
d_map_x
,
d_map_y
);
cv
::
gpu
::
buildWarpPlaneMaps
(
size
,
cv
::
Rect
(
0
,
0
,
size
.
width
,
size
.
height
),
K
,
R
,
T
,
1.0
,
d_map_x
,
d_map_y
);
}
}
GPU_SANITY_CHECK
(
d_map_x
);
GPU_SANITY_CHECK
(
d_map_y
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -1233,7 +1304,7 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpCylindricalMaps, GPU_TYPICAL_MAT_SIZES)
...
@@ -1233,7 +1304,7 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpCylindricalMaps, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
K
=
cv
::
Mat
::
eye
(
3
,
3
,
CV_32FC1
);
cv
::
Mat
K
=
cv
::
Mat
::
eye
(
3
,
3
,
CV_32FC1
);
cv
::
Mat
R
=
cv
::
Mat
::
ones
(
3
,
3
,
CV_32FC1
);
cv
::
Mat
R
=
cv
::
Mat
::
ones
(
3
,
3
,
CV_32FC1
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_map_x
;
cv
::
gpu
::
GpuMat
d_map_x
;
cv
::
gpu
::
GpuMat
d_map_y
;
cv
::
gpu
::
GpuMat
d_map_y
;
...
@@ -1244,10 +1315,13 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpCylindricalMaps, GPU_TYPICAL_MAT_SIZES)
...
@@ -1244,10 +1315,13 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpCylindricalMaps, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
buildWarpCylindricalMaps
(
size
,
cv
::
Rect
(
0
,
0
,
size
.
width
,
size
.
height
),
K
,
R
,
1.0
,
d_map_x
,
d_map_y
);
cv
::
gpu
::
buildWarpCylindricalMaps
(
size
,
cv
::
Rect
(
0
,
0
,
size
.
width
,
size
.
height
),
K
,
R
,
1.0
,
d_map_x
,
d_map_y
);
}
}
GPU_SANITY_CHECK
(
d_map_x
);
GPU_SANITY_CHECK
(
d_map_y
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -1261,7 +1335,7 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpSphericalMaps, GPU_TYPICAL_MAT_SIZES)
...
@@ -1261,7 +1335,7 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpSphericalMaps, GPU_TYPICAL_MAT_SIZES)
cv
::
Mat
K
=
cv
::
Mat
::
eye
(
3
,
3
,
CV_32FC1
);
cv
::
Mat
K
=
cv
::
Mat
::
eye
(
3
,
3
,
CV_32FC1
);
cv
::
Mat
R
=
cv
::
Mat
::
ones
(
3
,
3
,
CV_32FC1
);
cv
::
Mat
R
=
cv
::
Mat
::
ones
(
3
,
3
,
CV_32FC1
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_map_x
;
cv
::
gpu
::
GpuMat
d_map_x
;
cv
::
gpu
::
GpuMat
d_map_y
;
cv
::
gpu
::
GpuMat
d_map_y
;
...
@@ -1272,10 +1346,14 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpSphericalMaps, GPU_TYPICAL_MAT_SIZES)
...
@@ -1272,10 +1346,14 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpSphericalMaps, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
buildWarpSphericalMaps
(
size
,
cv
::
Rect
(
0
,
0
,
size
.
width
,
size
.
height
),
K
,
R
,
1.0
,
d_map_x
,
d_map_y
);
cv
::
gpu
::
buildWarpSphericalMaps
(
size
,
cv
::
Rect
(
0
,
0
,
size
.
width
,
size
.
height
),
K
,
R
,
1.0
,
d_map_x
,
d_map_y
);
}
}
GPU_SANITY_CHECK
(
d_map_x
);
GPU_SANITY_CHECK
(
d_map_y
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -1300,7 +1378,7 @@ PERF_TEST_P(Sz_Depth_Cn_Inter, ImgProc_Rotate, Combine(
...
@@ -1300,7 +1378,7 @@ PERF_TEST_P(Sz_Depth_Cn_Inter, ImgProc_Rotate, Combine(
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1311,10 +1389,12 @@ PERF_TEST_P(Sz_Depth_Cn_Inter, ImgProc_Rotate, Combine(
...
@@ -1311,10 +1389,12 @@ PERF_TEST_P(Sz_Depth_Cn_Inter, ImgProc_Rotate, Combine(
{
{
cv
::
gpu
::
rotate
(
d_src
,
d_dst
,
size
,
30.0
,
0
,
0
,
interpolation
);
cv
::
gpu
::
rotate
(
d_src
,
d_dst
,
size
,
30.0
,
0
,
0
,
interpolation
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -1335,7 +1415,7 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrDown, Combine(
...
@@ -1335,7 +1415,7 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrDown, Combine(
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1346,6 +1426,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrDown, Combine(
...
@@ -1346,6 +1426,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrDown, Combine(
{
{
cv
::
gpu
::
pyrDown
(
d_src
,
d_dst
);
cv
::
gpu
::
pyrDown
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1357,6 +1439,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrDown, Combine(
...
@@ -1357,6 +1439,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrDown, Combine(
{
{
cv
::
pyrDown
(
src
,
dst
);
cv
::
pyrDown
(
src
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1377,7 +1461,7 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrUp, Combine(
...
@@ -1377,7 +1461,7 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrUp, Combine(
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1388,6 +1472,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrUp, Combine(
...
@@ -1388,6 +1472,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrUp, Combine(
{
{
cv
::
gpu
::
pyrUp
(
d_src
,
d_dst
);
cv
::
gpu
::
pyrUp
(
d_src
,
d_dst
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1399,6 +1485,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrUp, Combine(
...
@@ -1399,6 +1485,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrUp, Combine(
{
{
cv
::
pyrUp
(
src
,
dst
);
cv
::
pyrUp
(
src
,
dst
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1444,7 +1532,7 @@ PERF_TEST_P(Sz_Depth_Code, ImgProc_CvtColor, Combine(
...
@@ -1444,7 +1532,7 @@ PERF_TEST_P(Sz_Depth_Code, ImgProc_CvtColor, Combine(
cv
::
Mat
src
(
size
,
CV_MAKETYPE
(
depth
,
info
.
scn
));
cv
::
Mat
src
(
size
,
CV_MAKETYPE
(
depth
,
info
.
scn
));
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1455,6 +1543,8 @@ PERF_TEST_P(Sz_Depth_Code, ImgProc_CvtColor, Combine(
...
@@ -1455,6 +1543,8 @@ PERF_TEST_P(Sz_Depth_Code, ImgProc_CvtColor, Combine(
{
{
cv
::
gpu
::
cvtColor
(
d_src
,
d_dst
,
info
.
code
,
info
.
dcn
);
cv
::
gpu
::
cvtColor
(
d_src
,
d_dst
,
info
.
code
,
info
.
dcn
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -1466,6 +1556,8 @@ PERF_TEST_P(Sz_Depth_Code, ImgProc_CvtColor, Combine(
...
@@ -1466,6 +1556,8 @@ PERF_TEST_P(Sz_Depth_Code, ImgProc_CvtColor, Combine(
{
{
cv
::
cvtColor
(
src
,
dst
,
info
.
code
,
info
.
dcn
);
cv
::
cvtColor
(
src
,
dst
,
info
.
code
,
info
.
dcn
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -1481,7 +1573,7 @@ PERF_TEST_P(Sz, ImgProc_SwapChannels, GPU_TYPICAL_MAT_SIZES)
...
@@ -1481,7 +1573,7 @@ PERF_TEST_P(Sz, ImgProc_SwapChannels, GPU_TYPICAL_MAT_SIZES)
const
int
dstOrder
[]
=
{
2
,
1
,
0
,
3
};
const
int
dstOrder
[]
=
{
2
,
1
,
0
,
3
};
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
...
@@ -1491,10 +1583,12 @@ PERF_TEST_P(Sz, ImgProc_SwapChannels, GPU_TYPICAL_MAT_SIZES)
...
@@ -1491,10 +1583,12 @@ PERF_TEST_P(Sz, ImgProc_SwapChannels, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
swapChannels
(
d_src
,
dstOrder
);
cv
::
gpu
::
swapChannels
(
d_src
,
dstOrder
);
}
}
GPU_SANITY_CHECK
(
d_src
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -1518,7 +1612,7 @@ PERF_TEST_P(Sz_Type_Op, ImgProc_AlphaComp, Combine(GPU_TYPICAL_MAT_SIZES, Values
...
@@ -1518,7 +1612,7 @@ PERF_TEST_P(Sz_Type_Op, ImgProc_AlphaComp, Combine(GPU_TYPICAL_MAT_SIZES, Values
cv
::
Mat
img2
(
size
,
type
);
cv
::
Mat
img2
(
size
,
type
);
fillRandom
(
img2
);
fillRandom
(
img2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_img1
(
img1
);
cv
::
gpu
::
GpuMat
d_img1
(
img1
);
cv
::
gpu
::
GpuMat
d_img2
(
img2
);
cv
::
gpu
::
GpuMat
d_img2
(
img2
);
...
@@ -1530,10 +1624,12 @@ PERF_TEST_P(Sz_Type_Op, ImgProc_AlphaComp, Combine(GPU_TYPICAL_MAT_SIZES, Values
...
@@ -1530,10 +1624,12 @@ PERF_TEST_P(Sz_Type_Op, ImgProc_AlphaComp, Combine(GPU_TYPICAL_MAT_SIZES, Values
{
{
cv
::
gpu
::
alphaComp
(
d_img1
,
d_img2
,
d_dst
,
alpha_op
);
cv
::
gpu
::
alphaComp
(
d_img1
,
d_img2
,
d_dst
,
alpha_op
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -1551,7 +1647,7 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidBuild, Combine(GPU_TYPICAL_MAT_SIZE
...
@@ -1551,7 +1647,7 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidBuild, Combine(GPU_TYPICAL_MAT_SIZE
cv
::
Mat
src
(
size
,
type
);
cv
::
Mat
src
(
size
,
type
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
...
@@ -1563,10 +1659,12 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidBuild, Combine(GPU_TYPICAL_MAT_SIZE
...
@@ -1563,10 +1659,12 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidBuild, Combine(GPU_TYPICAL_MAT_SIZE
{
{
d_pyr
.
build
(
d_src
,
5
);
d_pyr
.
build
(
d_src
,
5
);
}
}
GPU_SANITY_CHECK
(
d_src
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -1586,7 +1684,7 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidGetLayer, Combine(GPU_TYPICAL_MAT_S
...
@@ -1586,7 +1684,7 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidGetLayer, Combine(GPU_TYPICAL_MAT_S
cv
::
Size
dstSize
(
size
.
width
/
2
+
10
,
size
.
height
/
2
+
10
);
cv
::
Size
dstSize
(
size
.
width
/
2
+
10
,
size
.
height
/
2
+
10
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -1599,17 +1697,19 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidGetLayer, Combine(GPU_TYPICAL_MAT_S
...
@@ -1599,17 +1697,19 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidGetLayer, Combine(GPU_TYPICAL_MAT_S
{
{
d_pyr
.
getLayer
(
d_dst
,
dstSize
);
d_pyr
.
getLayer
(
d_dst
,
dstSize
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// HoughLines
// HoughLines
PERF_TEST_P
(
Sz
,
ImgProc_HoughLines
,
GPU_TYPICAL_MAT_SIZES
)
PERF_TEST_P
(
Sz
,
DISABLED_
ImgProc_HoughLines
,
GPU_TYPICAL_MAT_SIZES
)
{
{
declare
.
time
(
30.0
);
declare
.
time
(
30.0
);
...
@@ -1631,7 +1731,7 @@ PERF_TEST_P(Sz, ImgProc_HoughLines, GPU_TYPICAL_MAT_SIZES)
...
@@ -1631,7 +1731,7 @@ PERF_TEST_P(Sz, ImgProc_HoughLines, GPU_TYPICAL_MAT_SIZES)
cv
::
line
(
src
,
p1
,
p2
,
cv
::
Scalar
::
all
(
255
),
2
);
cv
::
line
(
src
,
p1
,
p2
,
cv
::
Scalar
::
all
(
255
),
2
);
}
}
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_lines
;
cv
::
gpu
::
GpuMat
d_lines
;
...
@@ -1643,6 +1743,8 @@ PERF_TEST_P(Sz, ImgProc_HoughLines, GPU_TYPICAL_MAT_SIZES)
...
@@ -1643,6 +1743,8 @@ PERF_TEST_P(Sz, ImgProc_HoughLines, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
gpu
::
HoughLines
(
d_src
,
d_lines
,
d_buf
,
rho
,
theta
,
threshold
);
cv
::
gpu
::
HoughLines
(
d_src
,
d_lines
,
d_buf
,
rho
,
theta
,
threshold
);
}
}
GPU_SANITY_CHECK
(
d_lines
);
}
}
else
else
{
{
...
@@ -1653,6 +1755,8 @@ PERF_TEST_P(Sz, ImgProc_HoughLines, GPU_TYPICAL_MAT_SIZES)
...
@@ -1653,6 +1755,8 @@ PERF_TEST_P(Sz, ImgProc_HoughLines, GPU_TYPICAL_MAT_SIZES)
{
{
cv
::
HoughLines
(
src
,
lines
,
rho
,
theta
,
threshold
);
cv
::
HoughLines
(
src
,
lines
,
rho
,
theta
,
threshold
);
}
}
CPU_SANITY_CHECK
(
lines
);
}
}
}
}
...
@@ -1687,7 +1791,7 @@ PERF_TEST_P(Sz_Dp_MinDist, ImgProc_HoughCircles, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -1687,7 +1791,7 @@ PERF_TEST_P(Sz_Dp_MinDist, ImgProc_HoughCircles, Combine(GPU_TYPICAL_MAT_SIZES,
cv
::
circle
(
src
,
center
,
radius
,
cv
::
Scalar
::
all
(
255
),
-
1
);
cv
::
circle
(
src
,
center
,
radius
,
cv
::
Scalar
::
all
(
255
),
-
1
);
}
}
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_circles
;
cv
::
gpu
::
GpuMat
d_circles
;
...
@@ -1699,6 +1803,8 @@ PERF_TEST_P(Sz_Dp_MinDist, ImgProc_HoughCircles, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -1699,6 +1803,8 @@ PERF_TEST_P(Sz_Dp_MinDist, ImgProc_HoughCircles, Combine(GPU_TYPICAL_MAT_SIZES,
{
{
cv
::
gpu
::
HoughCircles
(
d_src
,
d_circles
,
d_buf
,
CV_HOUGH_GRADIENT
,
dp
,
minDist
,
cannyThreshold
,
votesThreshold
,
minRadius
,
maxRadius
);
cv
::
gpu
::
HoughCircles
(
d_src
,
d_circles
,
d_buf
,
CV_HOUGH_GRADIENT
,
dp
,
minDist
,
cannyThreshold
,
votesThreshold
,
minRadius
,
maxRadius
);
}
}
GPU_SANITY_CHECK
(
d_circles
);
}
}
else
else
{
{
...
@@ -1710,6 +1816,8 @@ PERF_TEST_P(Sz_Dp_MinDist, ImgProc_HoughCircles, Combine(GPU_TYPICAL_MAT_SIZES,
...
@@ -1710,6 +1816,8 @@ PERF_TEST_P(Sz_Dp_MinDist, ImgProc_HoughCircles, Combine(GPU_TYPICAL_MAT_SIZES,
{
{
cv
::
HoughCircles
(
src
,
circles
,
CV_HOUGH_GRADIENT
,
dp
,
minDist
,
cannyThreshold
,
votesThreshold
,
minRadius
,
maxRadius
);
cv
::
HoughCircles
(
src
,
circles
,
CV_HOUGH_GRADIENT
,
dp
,
minDist
,
cannyThreshold
,
votesThreshold
,
minRadius
,
maxRadius
);
}
}
CPU_SANITY_CHECK
(
circles
);
}
}
}
}
...
@@ -1762,7 +1870,7 @@ PERF_TEST_P(Method_Sz, ImgProc_GeneralizedHough, Combine(
...
@@ -1762,7 +1870,7 @@ PERF_TEST_P(Method_Sz, ImgProc_GeneralizedHough, Combine(
cv
::
Sobel
(
image
,
dx
,
CV_32F
,
1
,
0
);
cv
::
Sobel
(
image
,
dx
,
CV_32F
,
1
,
0
);
cv
::
Sobel
(
image
,
dy
,
CV_32F
,
0
,
1
);
cv
::
Sobel
(
image
,
dy
,
CV_32F
,
0
,
1
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_edges
(
edges
);
cv
::
gpu
::
GpuMat
d_edges
(
edges
);
cv
::
gpu
::
GpuMat
d_dx
(
dx
);
cv
::
gpu
::
GpuMat
d_dx
(
dx
);
...
@@ -1784,6 +1892,8 @@ PERF_TEST_P(Method_Sz, ImgProc_GeneralizedHough, Combine(
...
@@ -1784,6 +1892,8 @@ PERF_TEST_P(Method_Sz, ImgProc_GeneralizedHough, Combine(
{
{
d_hough
->
detect
(
d_edges
,
d_dx
,
d_dy
,
d_position
);
d_hough
->
detect
(
d_edges
,
d_dx
,
d_dy
,
d_position
);
}
}
GPU_SANITY_CHECK
(
d_position
);
}
}
else
else
{
{
...
@@ -1804,6 +1914,9 @@ PERF_TEST_P(Method_Sz, ImgProc_GeneralizedHough, Combine(
...
@@ -1804,6 +1914,9 @@ PERF_TEST_P(Method_Sz, ImgProc_GeneralizedHough, Combine(
{
{
hough
->
detect
(
edges
,
dx
,
dy
,
positions
);
hough
->
detect
(
edges
,
dx
,
dy
,
positions
);
}
}
CPU_SANITY_CHECK
(
dx
);
CPU_SANITY_CHECK
(
dy
);
}
}
}
}
...
...
modules/gpu/perf/perf_labeling.cpp
View file @
9368aa9f
...
@@ -106,7 +106,7 @@ PERF_TEST_P(Image, Labeling_ConnectedComponents, Values<string>("gpu/labeling/al
...
@@ -106,7 +106,7 @@ PERF_TEST_P(Image, Labeling_ConnectedComponents, Values<string>("gpu/labeling/al
cv
::
Mat
image
=
readImage
(
GetParam
(),
cv
::
IMREAD_GRAYSCALE
);
cv
::
Mat
image
=
readImage
(
GetParam
(),
cv
::
IMREAD_GRAYSCALE
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
mask
;
cv
::
gpu
::
GpuMat
mask
;
mask
.
create
(
image
.
rows
,
image
.
cols
,
CV_8UC1
);
mask
.
create
(
image
.
rows
,
image
.
cols
,
CV_8UC1
);
...
@@ -122,6 +122,8 @@ PERF_TEST_P(Image, Labeling_ConnectedComponents, Values<string>("gpu/labeling/al
...
@@ -122,6 +122,8 @@ PERF_TEST_P(Image, Labeling_ConnectedComponents, Values<string>("gpu/labeling/al
{
{
cv
::
gpu
::
labelComponents
(
mask
,
components
);
cv
::
gpu
::
labelComponents
(
mask
,
components
);
}
}
GPU_SANITY_CHECK
(
components
);
}
}
else
else
{
{
...
@@ -135,6 +137,8 @@ PERF_TEST_P(Image, Labeling_ConnectedComponents, Values<string>("gpu/labeling/al
...
@@ -135,6 +137,8 @@ PERF_TEST_P(Image, Labeling_ConnectedComponents, Values<string>("gpu/labeling/al
{
{
host
(
host
.
_labels
);
host
(
host
.
_labels
);
}
}
CPU_SANITY_CHECK
(
host
.
_labels
);
}
}
}
}
...
...
modules/gpu/perf/perf_main.cpp
0 → 100644
View file @
9368aa9f
#include "perf_precomp.hpp"
namespace
{
static
void
printOsInfo
()
{
#if defined _WIN32
# if defined _WIN64
printf
(
"[----------]
\n
[ GPU INFO ]
\t
Run on OS Windows x64.
\n
[----------]
\n
"
),
fflush
(
stdout
);
# else
printf
(
"[----------]
\n
[ GPU INFO ]
\t
Run on OS Windows x32.
\n
[----------]
\n
"
),
fflush
(
stdout
);
# endif
#elif defined linux
# if defined _LP64
printf
(
"[----------]
\n
[ GPU INFO ]
\t
Run on OS Linux x64.
\n
[----------]
\n
"
),
fflush
(
stdout
);
# else
printf
(
"[----------]
\n
[ GPU INFO ]
\t
Run on OS Linux x32.
\n
[----------]
\n
"
),
fflush
(
stdout
);
# endif
#elif defined __APPLE__
# if defined _LP64
printf
(
"[----------]
\n
[ GPU INFO ]
\t
Run on OS Apple x64.
\n
[----------]
\n
"
),
fflush
(
stdout
);
# else
printf
(
"[----------]
\n
[ GPU INFO ]
\t
Run on OS Apple x32.
\n
[----------]
\n
"
),
fflush
(
stdout
);
# endif
#endif
}
static
void
printCudaInfo
()
{
printOsInfo
();
#ifndef HAVE_CUDA
printf
(
"[----------]
\n
[ GPU INFO ]
\t
OpenCV was built without CUDA support.
\n
[----------]
\n
"
),
fflush
(
stdout
);
#else
int
driver
;
cudaDriverGetVersion
(
&
driver
);
printf
(
"[----------]
\n
"
),
fflush
(
stdout
);
printf
(
"[ GPU INFO ]
\t
CUDA Driver version: %d.
\n
"
,
driver
),
fflush
(
stdout
);
printf
(
"[ GPU INFO ]
\t
CUDA Runtime version: %d.
\n
"
,
CUDART_VERSION
),
fflush
(
stdout
);
printf
(
"[----------]
\n
"
),
fflush
(
stdout
);
printf
(
"[----------]
\n
"
),
fflush
(
stdout
);
printf
(
"[ GPU INFO ]
\t
GPU module was compiled for the following GPU archs.
\n
"
),
fflush
(
stdout
);
printf
(
"[ BIN ]
\t
%s.
\n
"
,
CUDA_ARCH_BIN
),
fflush
(
stdout
);
printf
(
"[ PTX ]
\t
%s.
\n
"
,
CUDA_ARCH_PTX
),
fflush
(
stdout
);
printf
(
"[----------]
\n
"
),
fflush
(
stdout
);
printf
(
"[----------]
\n
"
),
fflush
(
stdout
);
int
deviceCount
=
cv
::
gpu
::
getCudaEnabledDeviceCount
();
printf
(
"[ GPU INFO ]
\t
CUDA device count:: %d.
\n
"
,
deviceCount
),
fflush
(
stdout
);
printf
(
"[----------]
\n
"
),
fflush
(
stdout
);
for
(
int
i
=
0
;
i
<
deviceCount
;
++
i
)
{
cv
::
gpu
::
DeviceInfo
info
(
i
);
printf
(
"[----------]
\n
"
),
fflush
(
stdout
);
printf
(
"[ DEVICE ]
\t
# %d %s.
\n
"
,
i
,
info
.
name
().
c_str
()),
fflush
(
stdout
);
printf
(
"[ ]
\t
Compute capability: %d.%d
\n
"
,
(
int
)
info
.
majorVersion
(),
(
int
)
info
.
minorVersion
()),
fflush
(
stdout
);
printf
(
"[ ]
\t
Multi Processor Count: %d
\n
"
,
info
.
multiProcessorCount
()),
fflush
(
stdout
);
printf
(
"[ ]
\t
Total memory: %d Mb
\n
"
,
static_cast
<
int
>
(
static_cast
<
int
>
(
info
.
totalMemory
()
/
1024.0
)
/
1024.0
)),
fflush
(
stdout
);
printf
(
"[ ]
\t
Free memory: %d Mb
\n
"
,
static_cast
<
int
>
(
static_cast
<
int
>
(
info
.
freeMemory
()
/
1024.0
)
/
1024.0
)),
fflush
(
stdout
);
if
(
!
info
.
isCompatible
())
printf
(
"[ GPU INFO ]
\t
This device is NOT compatible with current GPU module build
\n
"
);
printf
(
"[----------]
\n
"
),
fflush
(
stdout
);
}
#endif
}
}
CV_PERF_TEST_MAIN
(
gpu
,
printCudaInfo
())
\ No newline at end of file
modules/gpu/perf/perf_matop.cpp
View file @
9368aa9f
...
@@ -18,7 +18,7 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_SetTo, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -18,7 +18,7 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_SetTo, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
cv
::
Scalar
val
(
1
,
2
,
3
,
4
);
cv
::
Scalar
val
(
1
,
2
,
3
,
4
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
size
,
type
);
cv
::
gpu
::
GpuMat
d_src
(
size
,
type
);
...
@@ -28,6 +28,8 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_SetTo, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -28,6 +28,8 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_SetTo, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
{
{
d_src
.
setTo
(
val
);
d_src
.
setTo
(
val
);
}
}
GPU_SANITY_CHECK
(
d_src
);
}
}
else
else
{
{
...
@@ -39,6 +41,8 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_SetTo, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
...
@@ -39,6 +41,8 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_SetTo, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
{
{
src
.
setTo
(
val
);
src
.
setTo
(
val
);
}
}
CPU_SANITY_CHECK
(
src
);
}
}
}
}
...
@@ -61,7 +65,7 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_SetToMasked, Combine(GPU_TYPICAL_MAT_SIZES, Value
...
@@ -61,7 +65,7 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_SetToMasked, Combine(GPU_TYPICAL_MAT_SIZES, Value
cv
::
Scalar
val
(
1
,
2
,
3
,
4
);
cv
::
Scalar
val
(
1
,
2
,
3
,
4
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_mask
(
mask
);
cv
::
gpu
::
GpuMat
d_mask
(
mask
);
...
@@ -72,6 +76,8 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_SetToMasked, Combine(GPU_TYPICAL_MAT_SIZES, Value
...
@@ -72,6 +76,8 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_SetToMasked, Combine(GPU_TYPICAL_MAT_SIZES, Value
{
{
d_src
.
setTo
(
val
,
d_mask
);
d_src
.
setTo
(
val
,
d_mask
);
}
}
GPU_SANITY_CHECK
(
d_src
);
}
}
else
else
{
{
...
@@ -81,6 +87,8 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_SetToMasked, Combine(GPU_TYPICAL_MAT_SIZES, Value
...
@@ -81,6 +87,8 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_SetToMasked, Combine(GPU_TYPICAL_MAT_SIZES, Value
{
{
src
.
setTo
(
val
,
mask
);
src
.
setTo
(
val
,
mask
);
}
}
CPU_SANITY_CHECK
(
src
);
}
}
}
}
...
@@ -101,7 +109,7 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_CopyToMasked, Combine(GPU_TYPICAL_MAT_SIZES, Valu
...
@@ -101,7 +109,7 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_CopyToMasked, Combine(GPU_TYPICAL_MAT_SIZES, Valu
cv
::
Mat
mask
(
size
,
CV_8UC1
);
cv
::
Mat
mask
(
size
,
CV_8UC1
);
fillRandom
(
mask
,
0
,
2
);
fillRandom
(
mask
,
0
,
2
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_mask
(
mask
);
cv
::
gpu
::
GpuMat
d_mask
(
mask
);
...
@@ -113,6 +121,8 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_CopyToMasked, Combine(GPU_TYPICAL_MAT_SIZES, Valu
...
@@ -113,6 +121,8 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_CopyToMasked, Combine(GPU_TYPICAL_MAT_SIZES, Valu
{
{
d_src
.
copyTo
(
d_dst
,
d_mask
);
d_src
.
copyTo
(
d_dst
,
d_mask
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -124,6 +134,8 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_CopyToMasked, Combine(GPU_TYPICAL_MAT_SIZES, Valu
...
@@ -124,6 +134,8 @@ PERF_TEST_P(Sz_Depth_Cn, MatOp_CopyToMasked, Combine(GPU_TYPICAL_MAT_SIZES, Valu
{
{
src
.
copyTo
(
dst
,
mask
);
src
.
copyTo
(
dst
,
mask
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
@@ -141,7 +153,7 @@ PERF_TEST_P(Sz_2Depth, MatOp_ConvertTo, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV
...
@@ -141,7 +153,7 @@ PERF_TEST_P(Sz_2Depth, MatOp_ConvertTo, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV
cv
::
Mat
src
(
size
,
depth1
);
cv
::
Mat
src
(
size
,
depth1
);
fillRandom
(
src
);
fillRandom
(
src
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_src
(
src
);
cv
::
gpu
::
GpuMat
d_dst
;
cv
::
gpu
::
GpuMat
d_dst
;
...
@@ -152,6 +164,8 @@ PERF_TEST_P(Sz_2Depth, MatOp_ConvertTo, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV
...
@@ -152,6 +164,8 @@ PERF_TEST_P(Sz_2Depth, MatOp_ConvertTo, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV
{
{
d_src
.
convertTo
(
d_dst
,
depth2
,
0.5
,
1.0
);
d_src
.
convertTo
(
d_dst
,
depth2
,
0.5
,
1.0
);
}
}
GPU_SANITY_CHECK
(
d_dst
);
}
}
else
else
{
{
...
@@ -163,6 +177,8 @@ PERF_TEST_P(Sz_2Depth, MatOp_ConvertTo, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV
...
@@ -163,6 +177,8 @@ PERF_TEST_P(Sz_2Depth, MatOp_ConvertTo, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV
{
{
src
.
convertTo
(
dst
,
depth2
,
0.5
,
1.0
);
src
.
convertTo
(
dst
,
depth2
,
0.5
,
1.0
);
}
}
CPU_SANITY_CHECK
(
dst
);
}
}
}
}
...
...
modules/gpu/perf/perf_objdetect.cpp
View file @
9368aa9f
...
@@ -17,7 +17,7 @@ PERF_TEST_P(Image, ObjDetect_HOG, Values<string>("gpu/hog/road.png"))
...
@@ -17,7 +17,7 @@ PERF_TEST_P(Image, ObjDetect_HOG, Values<string>("gpu/hog/road.png"))
std
::
vector
<
cv
::
Rect
>
found_locations
;
std
::
vector
<
cv
::
Rect
>
found_locations
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_img
(
img
);
cv
::
gpu
::
GpuMat
d_img
(
img
);
...
@@ -43,6 +43,8 @@ PERF_TEST_P(Image, ObjDetect_HOG, Values<string>("gpu/hog/road.png"))
...
@@ -43,6 +43,8 @@ PERF_TEST_P(Image, ObjDetect_HOG, Values<string>("gpu/hog/road.png"))
hog
.
detectMultiScale
(
img
,
found_locations
);
hog
.
detectMultiScale
(
img
,
found_locations
);
}
}
}
}
SANITY_CHECK
(
found_locations
);
}
}
//===========test for CalTech data =============//
//===========test for CalTech data =============//
...
@@ -57,7 +59,7 @@ PERF_TEST_P(HOG, CalTech, Values<string>("gpu/caltech/image_00000009_0.png", "gp
...
@@ -57,7 +59,7 @@ PERF_TEST_P(HOG, CalTech, Values<string>("gpu/caltech/image_00000009_0.png", "gp
std
::
vector
<
cv
::
Rect
>
found_locations
;
std
::
vector
<
cv
::
Rect
>
found_locations
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_img
(
img
);
cv
::
gpu
::
GpuMat
d_img
(
img
);
...
@@ -83,6 +85,8 @@ PERF_TEST_P(HOG, CalTech, Values<string>("gpu/caltech/image_00000009_0.png", "gp
...
@@ -83,6 +85,8 @@ PERF_TEST_P(HOG, CalTech, Values<string>("gpu/caltech/image_00000009_0.png", "gp
hog
.
detectMultiScale
(
img
,
found_locations
);
hog
.
detectMultiScale
(
img
,
found_locations
);
}
}
}
}
SANITY_CHECK
(
found_locations
);
}
}
...
@@ -98,7 +102,7 @@ PERF_TEST_P(ImageAndCascade, ObjDetect_HaarClassifier,
...
@@ -98,7 +102,7 @@ PERF_TEST_P(ImageAndCascade, ObjDetect_HaarClassifier,
cv
::
Mat
img
=
readImage
(
GetParam
().
first
,
cv
::
IMREAD_GRAYSCALE
);
cv
::
Mat
img
=
readImage
(
GetParam
().
first
,
cv
::
IMREAD_GRAYSCALE
);
ASSERT_FALSE
(
img
.
empty
());
ASSERT_FALSE
(
img
.
empty
());
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
CascadeClassifier_GPU
d_cascade
;
cv
::
gpu
::
CascadeClassifier_GPU
d_cascade
;
ASSERT_TRUE
(
d_cascade
.
load
(
perf
::
TestBase
::
getDataPath
(
GetParam
().
second
)));
ASSERT_TRUE
(
d_cascade
.
load
(
perf
::
TestBase
::
getDataPath
(
GetParam
().
second
)));
...
@@ -112,6 +116,8 @@ PERF_TEST_P(ImageAndCascade, ObjDetect_HaarClassifier,
...
@@ -112,6 +116,8 @@ PERF_TEST_P(ImageAndCascade, ObjDetect_HaarClassifier,
{
{
d_cascade
.
detectMultiScale
(
d_img
,
d_objects_buffer
);
d_cascade
.
detectMultiScale
(
d_img
,
d_objects_buffer
);
}
}
GPU_SANITY_CHECK
(
d_objects_buffer
);
}
}
else
else
{
{
...
@@ -126,6 +132,8 @@ PERF_TEST_P(ImageAndCascade, ObjDetect_HaarClassifier,
...
@@ -126,6 +132,8 @@ PERF_TEST_P(ImageAndCascade, ObjDetect_HaarClassifier,
{
{
cascade
.
detectMultiScale
(
img
,
rects
);
cascade
.
detectMultiScale
(
img
,
rects
);
}
}
CPU_SANITY_CHECK
(
rects
);
}
}
}
}
...
@@ -138,7 +146,7 @@ PERF_TEST_P(ImageAndCascade, ObjDetect_LBPClassifier,
...
@@ -138,7 +146,7 @@ PERF_TEST_P(ImageAndCascade, ObjDetect_LBPClassifier,
cv
::
Mat
img
=
readImage
(
GetParam
().
first
,
cv
::
IMREAD_GRAYSCALE
);
cv
::
Mat
img
=
readImage
(
GetParam
().
first
,
cv
::
IMREAD_GRAYSCALE
);
ASSERT_FALSE
(
img
.
empty
());
ASSERT_FALSE
(
img
.
empty
());
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
CascadeClassifier_GPU
d_cascade
;
cv
::
gpu
::
CascadeClassifier_GPU
d_cascade
;
ASSERT_TRUE
(
d_cascade
.
load
(
perf
::
TestBase
::
getDataPath
(
GetParam
().
second
)));
ASSERT_TRUE
(
d_cascade
.
load
(
perf
::
TestBase
::
getDataPath
(
GetParam
().
second
)));
...
@@ -152,6 +160,8 @@ PERF_TEST_P(ImageAndCascade, ObjDetect_LBPClassifier,
...
@@ -152,6 +160,8 @@ PERF_TEST_P(ImageAndCascade, ObjDetect_LBPClassifier,
{
{
d_cascade
.
detectMultiScale
(
d_img
,
d_gpu_rects
);
d_cascade
.
detectMultiScale
(
d_img
,
d_gpu_rects
);
}
}
GPU_SANITY_CHECK
(
d_gpu_rects
);
}
}
else
else
{
{
...
@@ -166,6 +176,8 @@ PERF_TEST_P(ImageAndCascade, ObjDetect_LBPClassifier,
...
@@ -166,6 +176,8 @@ PERF_TEST_P(ImageAndCascade, ObjDetect_LBPClassifier,
{
{
cascade
.
detectMultiScale
(
img
,
rects
);
cascade
.
detectMultiScale
(
img
,
rects
);
}
}
CPU_SANITY_CHECK
(
rects
);
}
}
}
}
...
...
modules/gpu/perf/perf_video.cpp
View file @
9368aa9f
...
@@ -20,7 +20,8 @@ typedef pair<string, string> pair_string;
...
@@ -20,7 +20,8 @@ typedef pair<string, string> pair_string;
DEF_PARAM_TEST_1
(
ImagePair
,
pair_string
);
DEF_PARAM_TEST_1
(
ImagePair
,
pair_string
);
PERF_TEST_P
(
ImagePair
,
Video_BroxOpticalFlow
,
Values
<
pair_string
>
(
make_pair
(
"gpu/opticalflow/frame0.png"
,
"gpu/opticalflow/frame1.png"
)))
PERF_TEST_P
(
ImagePair
,
Video_BroxOpticalFlow
,
Values
<
pair_string
>
(
make_pair
(
"gpu/opticalflow/frame0.png"
,
"gpu/opticalflow/frame1.png"
)))
{
{
declare
.
time
(
10
);
declare
.
time
(
10
);
...
@@ -33,7 +34,7 @@ PERF_TEST_P(ImagePair, Video_BroxOpticalFlow, Values<pair_string>(make_pair("gpu
...
@@ -33,7 +34,7 @@ PERF_TEST_P(ImagePair, Video_BroxOpticalFlow, Values<pair_string>(make_pair("gpu
frame0
.
convertTo
(
frame0
,
CV_32FC1
,
1.0
/
255.0
);
frame0
.
convertTo
(
frame0
,
CV_32FC1
,
1.0
/
255.0
);
frame1
.
convertTo
(
frame1
,
CV_32FC1
,
1.0
/
255.0
);
frame1
.
convertTo
(
frame1
,
CV_32FC1
,
1.0
/
255.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_frame0
(
frame0
);
cv
::
gpu
::
GpuMat
d_frame0
(
frame0
);
cv
::
gpu
::
GpuMat
d_frame1
(
frame1
);
cv
::
gpu
::
GpuMat
d_frame1
(
frame1
);
...
@@ -49,17 +50,21 @@ PERF_TEST_P(ImagePair, Video_BroxOpticalFlow, Values<pair_string>(make_pair("gpu
...
@@ -49,17 +50,21 @@ PERF_TEST_P(ImagePair, Video_BroxOpticalFlow, Values<pair_string>(make_pair("gpu
{
{
d_flow
(
d_frame0
,
d_frame1
,
d_u
,
d_v
);
d_flow
(
d_frame0
,
d_frame1
,
d_u
,
d_v
);
}
}
GPU_SANITY_CHECK
(
d_u
);
GPU_SANITY_CHECK
(
d_v
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
// InterpolateFrames
// InterpolateFrames
PERF_TEST_P
(
ImagePair
,
Video_InterpolateFrames
,
Values
<
pair_string
>
(
make_pair
(
"gpu/opticalflow/frame0.png"
,
"gpu/opticalflow/frame1.png"
)))
PERF_TEST_P
(
ImagePair
,
Video_InterpolateFrames
,
Values
<
pair_string
>
(
make_pair
(
"gpu/opticalflow/frame0.png"
,
"gpu/opticalflow/frame1.png"
)))
{
{
cv
::
Mat
frame0
=
readImage
(
GetParam
().
first
,
cv
::
IMREAD_GRAYSCALE
);
cv
::
Mat
frame0
=
readImage
(
GetParam
().
first
,
cv
::
IMREAD_GRAYSCALE
);
ASSERT_FALSE
(
frame0
.
empty
());
ASSERT_FALSE
(
frame0
.
empty
());
...
@@ -70,7 +75,7 @@ PERF_TEST_P(ImagePair, Video_InterpolateFrames, Values<pair_string>(make_pair("g
...
@@ -70,7 +75,7 @@ PERF_TEST_P(ImagePair, Video_InterpolateFrames, Values<pair_string>(make_pair("g
frame0
.
convertTo
(
frame0
,
CV_32FC1
,
1.0
/
255.0
);
frame0
.
convertTo
(
frame0
,
CV_32FC1
,
1.0
/
255.0
);
frame1
.
convertTo
(
frame1
,
CV_32FC1
,
1.0
/
255.0
);
frame1
.
convertTo
(
frame1
,
CV_32FC1
,
1.0
/
255.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_frame0
(
frame0
);
cv
::
gpu
::
GpuMat
d_frame0
(
frame0
);
cv
::
gpu
::
GpuMat
d_frame1
(
frame1
);
cv
::
gpu
::
GpuMat
d_frame1
(
frame1
);
...
@@ -92,17 +97,23 @@ PERF_TEST_P(ImagePair, Video_InterpolateFrames, Values<pair_string>(make_pair("g
...
@@ -92,17 +97,23 @@ PERF_TEST_P(ImagePair, Video_InterpolateFrames, Values<pair_string>(make_pair("g
{
{
cv
::
gpu
::
interpolateFrames
(
d_frame0
,
d_frame1
,
d_fu
,
d_fv
,
d_bu
,
d_bv
,
0.5
f
,
d_newFrame
,
d_buf
);
cv
::
gpu
::
interpolateFrames
(
d_frame0
,
d_frame1
,
d_fu
,
d_fv
,
d_bu
,
d_bv
,
0.5
f
,
d_newFrame
,
d_buf
);
}
}
GPU_SANITY_CHECK
(
d_fu
);
GPU_SANITY_CHECK
(
d_fv
);
GPU_SANITY_CHECK
(
d_bu
);
GPU_SANITY_CHECK
(
d_bv
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
// CreateOpticalFlowNeedleMap
// CreateOpticalFlowNeedleMap
PERF_TEST_P
(
ImagePair
,
Video_CreateOpticalFlowNeedleMap
,
Values
<
pair_string
>
(
make_pair
(
"gpu/opticalflow/frame0.png"
,
"gpu/opticalflow/frame1.png"
)))
PERF_TEST_P
(
ImagePair
,
Video_CreateOpticalFlowNeedleMap
,
Values
<
pair_string
>
(
make_pair
(
"gpu/opticalflow/frame0.png"
,
"gpu/opticalflow/frame1.png"
)))
{
{
cv
::
Mat
frame0
=
readImage
(
GetParam
().
first
,
cv
::
IMREAD_GRAYSCALE
);
cv
::
Mat
frame0
=
readImage
(
GetParam
().
first
,
cv
::
IMREAD_GRAYSCALE
);
ASSERT_FALSE
(
frame0
.
empty
());
ASSERT_FALSE
(
frame0
.
empty
());
...
@@ -113,7 +124,7 @@ PERF_TEST_P(ImagePair, Video_CreateOpticalFlowNeedleMap, Values<pair_string>(mak
...
@@ -113,7 +124,7 @@ PERF_TEST_P(ImagePair, Video_CreateOpticalFlowNeedleMap, Values<pair_string>(mak
frame0
.
convertTo
(
frame0
,
CV_32FC1
,
1.0
/
255.0
);
frame0
.
convertTo
(
frame0
,
CV_32FC1
,
1.0
/
255.0
);
frame1
.
convertTo
(
frame1
,
CV_32FC1
,
1.0
/
255.0
);
frame1
.
convertTo
(
frame1
,
CV_32FC1
,
1.0
/
255.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_frame0
(
frame0
);
cv
::
gpu
::
GpuMat
d_frame0
(
frame0
);
cv
::
gpu
::
GpuMat
d_frame1
(
frame1
);
cv
::
gpu
::
GpuMat
d_frame1
(
frame1
);
...
@@ -133,10 +144,13 @@ PERF_TEST_P(ImagePair, Video_CreateOpticalFlowNeedleMap, Values<pair_string>(mak
...
@@ -133,10 +144,13 @@ PERF_TEST_P(ImagePair, Video_CreateOpticalFlowNeedleMap, Values<pair_string>(mak
{
{
cv
::
gpu
::
createOpticalFlowNeedleMap
(
d_u
,
d_v
,
d_vertex
,
d_colors
);
cv
::
gpu
::
createOpticalFlowNeedleMap
(
d_u
,
d_v
,
d_vertex
,
d_colors
);
}
}
GPU_SANITY_CHECK
(
d_vertex
);
GPU_SANITY_CHECK
(
d_colors
)
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -145,7 +159,8 @@ PERF_TEST_P(ImagePair, Video_CreateOpticalFlowNeedleMap, Values<pair_string>(mak
...
@@ -145,7 +159,8 @@ PERF_TEST_P(ImagePair, Video_CreateOpticalFlowNeedleMap, Values<pair_string>(mak
DEF_PARAM_TEST
(
Image_MinDistance
,
string
,
double
);
DEF_PARAM_TEST
(
Image_MinDistance
,
string
,
double
);
PERF_TEST_P
(
Image_MinDistance
,
Video_GoodFeaturesToTrack
,
Combine
(
Values
<
string
>
(
"gpu/perf/aloe.png"
),
Values
(
0.0
,
3.0
)))
PERF_TEST_P
(
Image_MinDistance
,
Video_GoodFeaturesToTrack
,
Combine
(
Values
<
string
>
(
"gpu/perf/aloe.png"
),
Values
(
0.0
,
3.0
)))
{
{
string
fileName
=
GET_PARAM
(
0
);
string
fileName
=
GET_PARAM
(
0
);
double
minDistance
=
GET_PARAM
(
1
);
double
minDistance
=
GET_PARAM
(
1
);
...
@@ -153,7 +168,7 @@ PERF_TEST_P(Image_MinDistance, Video_GoodFeaturesToTrack, Combine(Values<string>
...
@@ -153,7 +168,7 @@ PERF_TEST_P(Image_MinDistance, Video_GoodFeaturesToTrack, Combine(Values<string>
cv
::
Mat
image
=
readImage
(
fileName
,
cv
::
IMREAD_GRAYSCALE
);
cv
::
Mat
image
=
readImage
(
fileName
,
cv
::
IMREAD_GRAYSCALE
);
ASSERT_FALSE
(
image
.
empty
());
ASSERT_FALSE
(
image
.
empty
());
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GoodFeaturesToTrackDetector_GPU
d_detector
(
8000
,
0.01
,
minDistance
);
cv
::
gpu
::
GoodFeaturesToTrackDetector_GPU
d_detector
(
8000
,
0.01
,
minDistance
);
...
@@ -166,6 +181,8 @@ PERF_TEST_P(Image_MinDistance, Video_GoodFeaturesToTrack, Combine(Values<string>
...
@@ -166,6 +181,8 @@ PERF_TEST_P(Image_MinDistance, Video_GoodFeaturesToTrack, Combine(Values<string>
{
{
d_detector
(
d_image
,
d_pts
);
d_detector
(
d_image
,
d_pts
);
}
}
GPU_SANITY_CHECK
(
d_pts
);
}
}
else
else
{
{
...
@@ -177,6 +194,8 @@ PERF_TEST_P(Image_MinDistance, Video_GoodFeaturesToTrack, Combine(Values<string>
...
@@ -177,6 +194,8 @@ PERF_TEST_P(Image_MinDistance, Video_GoodFeaturesToTrack, Combine(Values<string>
{
{
cv
::
goodFeaturesToTrack
(
image
,
pts
,
8000
,
0.01
,
minDistance
);
cv
::
goodFeaturesToTrack
(
image
,
pts
,
8000
,
0.01
,
minDistance
);
}
}
CPU_SANITY_CHECK
(
pts
);
}
}
}
}
...
@@ -217,7 +236,7 @@ PERF_TEST_P(ImagePair_Gray_NPts_WinSz_Levels_Iters, Video_PyrLKOpticalFlowSparse
...
@@ -217,7 +236,7 @@ PERF_TEST_P(ImagePair_Gray_NPts_WinSz_Levels_Iters, Video_PyrLKOpticalFlowSparse
cv
::
Mat
pts
;
cv
::
Mat
pts
;
cv
::
goodFeaturesToTrack
(
gray_frame
,
pts
,
points
,
0.01
,
0.0
);
cv
::
goodFeaturesToTrack
(
gray_frame
,
pts
,
points
,
0.01
,
0.0
);
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_pts
(
pts
.
reshape
(
2
,
1
));
cv
::
gpu
::
GpuMat
d_pts
(
pts
.
reshape
(
2
,
1
));
...
@@ -237,6 +256,8 @@ PERF_TEST_P(ImagePair_Gray_NPts_WinSz_Levels_Iters, Video_PyrLKOpticalFlowSparse
...
@@ -237,6 +256,8 @@ PERF_TEST_P(ImagePair_Gray_NPts_WinSz_Levels_Iters, Video_PyrLKOpticalFlowSparse
{
{
d_pyrLK
.
sparse
(
d_frame0
,
d_frame1
,
d_pts
,
d_nextPts
,
d_status
);
d_pyrLK
.
sparse
(
d_frame0
,
d_frame1
,
d_pts
,
d_nextPts
,
d_status
);
}
}
GPU_SANITY_CHECK
(
d_status
);
}
}
else
else
{
{
...
@@ -253,6 +274,8 @@ PERF_TEST_P(ImagePair_Gray_NPts_WinSz_Levels_Iters, Video_PyrLKOpticalFlowSparse
...
@@ -253,6 +274,8 @@ PERF_TEST_P(ImagePair_Gray_NPts_WinSz_Levels_Iters, Video_PyrLKOpticalFlowSparse
cv
::
Size
(
winSize
,
winSize
),
levels
-
1
,
cv
::
Size
(
winSize
,
winSize
),
levels
-
1
,
cv
::
TermCriteria
(
cv
::
TermCriteria
::
COUNT
+
cv
::
TermCriteria
::
EPS
,
iters
,
0.01
));
cv
::
TermCriteria
(
cv
::
TermCriteria
::
COUNT
+
cv
::
TermCriteria
::
EPS
,
iters
,
0.01
));
}
}
CPU_SANITY_CHECK
(
status
);
}
}
}
}
...
@@ -280,7 +303,7 @@ PERF_TEST_P(ImagePair_WinSz_Levels_Iters, Video_PyrLKOpticalFlowDense, Combine(
...
@@ -280,7 +303,7 @@ PERF_TEST_P(ImagePair_WinSz_Levels_Iters, Video_PyrLKOpticalFlowDense, Combine(
cv
::
Mat
frame1
=
readImage
(
imagePair
.
second
,
cv
::
IMREAD_GRAYSCALE
);
cv
::
Mat
frame1
=
readImage
(
imagePair
.
second
,
cv
::
IMREAD_GRAYSCALE
);
ASSERT_FALSE
(
frame1
.
empty
());
ASSERT_FALSE
(
frame1
.
empty
());
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_frame0
(
frame0
);
cv
::
gpu
::
GpuMat
d_frame0
(
frame0
);
cv
::
gpu
::
GpuMat
d_frame1
(
frame1
);
cv
::
gpu
::
GpuMat
d_frame1
(
frame1
);
...
@@ -298,17 +321,21 @@ PERF_TEST_P(ImagePair_WinSz_Levels_Iters, Video_PyrLKOpticalFlowDense, Combine(
...
@@ -298,17 +321,21 @@ PERF_TEST_P(ImagePair_WinSz_Levels_Iters, Video_PyrLKOpticalFlowDense, Combine(
{
{
d_pyrLK
.
dense
(
d_frame0
,
d_frame1
,
d_u
,
d_v
);
d_pyrLK
.
dense
(
d_frame0
,
d_frame1
,
d_u
,
d_v
);
}
}
GPU_SANITY_CHECK
(
d_u
);
GPU_SANITY_CHECK
(
d_v
);
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
// FarnebackOpticalFlow
// FarnebackOpticalFlow
PERF_TEST_P
(
ImagePair
,
Video_FarnebackOpticalFlow
,
Values
<
pair_string
>
(
make_pair
(
"gpu/opticalflow/frame0.png"
,
"gpu/opticalflow/frame1.png"
)))
PERF_TEST_P
(
ImagePair
,
Video_FarnebackOpticalFlow
,
Values
<
pair_string
>
(
make_pair
(
"gpu/opticalflow/frame0.png"
,
"gpu/opticalflow/frame1.png"
)))
{
{
declare
.
time
(
10
);
declare
.
time
(
10
);
...
@@ -326,7 +353,7 @@ PERF_TEST_P(ImagePair, Video_FarnebackOpticalFlow, Values<pair_string>(make_pair
...
@@ -326,7 +353,7 @@ PERF_TEST_P(ImagePair, Video_FarnebackOpticalFlow, Values<pair_string>(make_pair
double
polySigma
=
1.1
;
double
polySigma
=
1.1
;
int
flags
=
0
;
int
flags
=
0
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_frame0
(
frame0
);
cv
::
gpu
::
GpuMat
d_frame0
(
frame0
);
cv
::
gpu
::
GpuMat
d_frame1
(
frame1
);
cv
::
gpu
::
GpuMat
d_frame1
(
frame1
);
...
@@ -348,6 +375,9 @@ PERF_TEST_P(ImagePair, Video_FarnebackOpticalFlow, Values<pair_string>(make_pair
...
@@ -348,6 +375,9 @@ PERF_TEST_P(ImagePair, Video_FarnebackOpticalFlow, Values<pair_string>(make_pair
{
{
d_farneback
(
d_frame0
,
d_frame1
,
d_u
,
d_v
);
d_farneback
(
d_frame0
,
d_frame1
,
d_u
,
d_v
);
}
}
GPU_SANITY_CHECK
(
d_u
);
GPU_SANITY_CHECK
(
d_v
);
}
}
else
else
{
{
...
@@ -359,6 +389,8 @@ PERF_TEST_P(ImagePair, Video_FarnebackOpticalFlow, Values<pair_string>(make_pair
...
@@ -359,6 +389,8 @@ PERF_TEST_P(ImagePair, Video_FarnebackOpticalFlow, Values<pair_string>(make_pair
{
{
cv
::
calcOpticalFlowFarneback
(
frame0
,
frame1
,
flow
,
pyrScale
,
numLevels
,
winSize
,
numIters
,
polyN
,
polySigma
,
flags
);
cv
::
calcOpticalFlowFarneback
(
frame0
,
frame1
,
flow
,
pyrScale
,
numLevels
,
winSize
,
numIters
,
polyN
,
polySigma
,
flags
);
}
}
CPU_SANITY_CHECK
(
flow
);
}
}
}
}
...
@@ -367,7 +399,7 @@ PERF_TEST_P(ImagePair, Video_FarnebackOpticalFlow, Values<pair_string>(make_pair
...
@@ -367,7 +399,7 @@ PERF_TEST_P(ImagePair, Video_FarnebackOpticalFlow, Values<pair_string>(make_pair
DEF_PARAM_TEST_1
(
Video
,
string
);
DEF_PARAM_TEST_1
(
Video
,
string
);
PERF_TEST_P
(
Video
,
Video_FGDStatModel
,
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
))
PERF_TEST_P
(
Video
,
DISABLED_
Video_FGDStatModel
,
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
))
{
{
declare
.
time
(
60
);
declare
.
time
(
60
);
...
@@ -380,7 +412,7 @@ PERF_TEST_P(Video, Video_FGDStatModel, Values("gpu/video/768x576.avi", "gpu/vide
...
@@ -380,7 +412,7 @@ PERF_TEST_P(Video, Video_FGDStatModel, Values("gpu/video/768x576.avi", "gpu/vide
cap
>>
frame
;
cap
>>
frame
;
ASSERT_FALSE
(
frame
.
empty
());
ASSERT_FALSE
(
frame
.
empty
());
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_frame
(
frame
);
cv
::
gpu
::
GpuMat
d_frame
(
frame
);
...
@@ -423,7 +455,8 @@ PERF_TEST_P(Video, Video_FGDStatModel, Values("gpu/video/768x576.avi", "gpu/vide
...
@@ -423,7 +455,8 @@ PERF_TEST_P(Video, Video_FGDStatModel, Values("gpu/video/768x576.avi", "gpu/vide
DEF_PARAM_TEST
(
Video_Cn_LearningRate
,
string
,
MatCn
,
double
);
DEF_PARAM_TEST
(
Video_Cn_LearningRate
,
string
,
MatCn
,
double
);
PERF_TEST_P
(
Video_Cn_LearningRate
,
Video_MOG
,
Combine
(
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
),
GPU_CHANNELS_1_3_4
,
Values
(
0.0
,
0.01
)))
PERF_TEST_P
(
Video_Cn_LearningRate
,
DISABLED_Video_MOG
,
Combine
(
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
),
GPU_CHANNELS_1_3_4
,
Values
(
0.0
,
0.01
)))
{
{
string
inputFile
=
perf
::
TestBase
::
getDataPath
(
GET_PARAM
(
0
));
string
inputFile
=
perf
::
TestBase
::
getDataPath
(
GET_PARAM
(
0
));
int
cn
=
GET_PARAM
(
1
);
int
cn
=
GET_PARAM
(
1
);
...
@@ -447,7 +480,7 @@ PERF_TEST_P(Video_Cn_LearningRate, Video_MOG, Combine(Values("gpu/video/768x576.
...
@@ -447,7 +480,7 @@ PERF_TEST_P(Video_Cn_LearningRate, Video_MOG, Combine(Values("gpu/video/768x576.
cv
::
swap
(
temp
,
frame
);
cv
::
swap
(
temp
,
frame
);
}
}
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_frame
(
frame
);
cv
::
gpu
::
GpuMat
d_frame
(
frame
);
cv
::
gpu
::
MOG_GPU
d_mog
;
cv
::
gpu
::
MOG_GPU
d_mog
;
...
@@ -511,7 +544,8 @@ PERF_TEST_P(Video_Cn_LearningRate, Video_MOG, Combine(Values("gpu/video/768x576.
...
@@ -511,7 +544,8 @@ PERF_TEST_P(Video_Cn_LearningRate, Video_MOG, Combine(Values("gpu/video/768x576.
DEF_PARAM_TEST
(
Video_Cn
,
string
,
int
);
DEF_PARAM_TEST
(
Video_Cn
,
string
,
int
);
PERF_TEST_P
(
Video_Cn
,
Video_MOG2
,
Combine
(
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
),
GPU_CHANNELS_1_3_4
))
PERF_TEST_P
(
Video_Cn
,
DISABLED_Video_MOG2
,
Combine
(
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
),
GPU_CHANNELS_1_3_4
))
{
{
string
inputFile
=
perf
::
TestBase
::
getDataPath
(
GET_PARAM
(
0
));
string
inputFile
=
perf
::
TestBase
::
getDataPath
(
GET_PARAM
(
0
));
int
cn
=
GET_PARAM
(
1
);
int
cn
=
GET_PARAM
(
1
);
...
@@ -534,7 +568,7 @@ PERF_TEST_P(Video_Cn, Video_MOG2, Combine(Values("gpu/video/768x576.avi", "gpu/v
...
@@ -534,7 +568,7 @@ PERF_TEST_P(Video_Cn, Video_MOG2, Combine(Values("gpu/video/768x576.avi", "gpu/v
cv
::
swap
(
temp
,
frame
);
cv
::
swap
(
temp
,
frame
);
}
}
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_frame
(
frame
);
cv
::
gpu
::
GpuMat
d_frame
(
frame
);
cv
::
gpu
::
MOG2_GPU
d_mog2
;
cv
::
gpu
::
MOG2_GPU
d_mog2
;
...
@@ -596,7 +630,8 @@ PERF_TEST_P(Video_Cn, Video_MOG2, Combine(Values("gpu/video/768x576.avi", "gpu/v
...
@@ -596,7 +630,8 @@ PERF_TEST_P(Video_Cn, Video_MOG2, Combine(Values("gpu/video/768x576.avi", "gpu/v
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
// MOG2GetBackgroundImage
// MOG2GetBackgroundImage
PERF_TEST_P
(
Video_Cn
,
Video_MOG2GetBackgroundImage
,
Combine
(
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
),
GPU_CHANNELS_1_3_4
))
PERF_TEST_P
(
Video_Cn
,
Video_MOG2GetBackgroundImage
,
Combine
(
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
),
GPU_CHANNELS_1_3_4
))
{
{
string
inputFile
=
perf
::
TestBase
::
getDataPath
(
GET_PARAM
(
0
));
string
inputFile
=
perf
::
TestBase
::
getDataPath
(
GET_PARAM
(
0
));
int
cn
=
GET_PARAM
(
1
);
int
cn
=
GET_PARAM
(
1
);
...
@@ -606,7 +641,7 @@ PERF_TEST_P(Video_Cn, Video_MOG2GetBackgroundImage, Combine(Values("gpu/video/76
...
@@ -606,7 +641,7 @@ PERF_TEST_P(Video_Cn, Video_MOG2GetBackgroundImage, Combine(Values("gpu/video/76
cv
::
Mat
frame
;
cv
::
Mat
frame
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_frame
;
cv
::
gpu
::
GpuMat
d_frame
;
cv
::
gpu
::
MOG2_GPU
d_mog2
;
cv
::
gpu
::
MOG2_GPU
d_mog2
;
...
@@ -639,6 +674,8 @@ PERF_TEST_P(Video_Cn, Video_MOG2GetBackgroundImage, Combine(Values("gpu/video/76
...
@@ -639,6 +674,8 @@ PERF_TEST_P(Video_Cn, Video_MOG2GetBackgroundImage, Combine(Values("gpu/video/76
{
{
d_mog2
.
getBackgroundImage
(
d_background
);
d_mog2
.
getBackgroundImage
(
d_background
);
}
}
GPU_SANITY_CHECK
(
d_background
);
}
}
else
else
{
{
...
@@ -670,13 +707,16 @@ PERF_TEST_P(Video_Cn, Video_MOG2GetBackgroundImage, Combine(Values("gpu/video/76
...
@@ -670,13 +707,16 @@ PERF_TEST_P(Video_Cn, Video_MOG2GetBackgroundImage, Combine(Values("gpu/video/76
{
{
mog2
.
getBackgroundImage
(
background
);
mog2
.
getBackgroundImage
(
background
);
}
}
CPU_SANITY_CHECK
(
background
);
}
}
}
}
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
// VIBE
// VIBE
PERF_TEST_P
(
Video_Cn
,
Video_VIBE
,
Combine
(
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
),
GPU_CHANNELS_1_3_4
))
PERF_TEST_P
(
Video_Cn
,
DISABLED_Video_VIBE
,
Combine
(
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
),
GPU_CHANNELS_1_3_4
))
{
{
string
inputFile
=
perf
::
TestBase
::
getDataPath
(
GET_PARAM
(
0
));
string
inputFile
=
perf
::
TestBase
::
getDataPath
(
GET_PARAM
(
0
));
int
cn
=
GET_PARAM
(
1
);
int
cn
=
GET_PARAM
(
1
);
...
@@ -698,7 +738,7 @@ PERF_TEST_P(Video_Cn, Video_VIBE, Combine(Values("gpu/video/768x576.avi", "gpu/v
...
@@ -698,7 +738,7 @@ PERF_TEST_P(Video_Cn, Video_VIBE, Combine(Values("gpu/video/768x576.avi", "gpu/v
cv
::
swap
(
temp
,
frame
);
cv
::
swap
(
temp
,
frame
);
}
}
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_frame
(
frame
);
cv
::
gpu
::
GpuMat
d_frame
(
frame
);
cv
::
gpu
::
VIBE_GPU
d_vibe
;
cv
::
gpu
::
VIBE_GPU
d_vibe
;
...
@@ -730,7 +770,7 @@ PERF_TEST_P(Video_Cn, Video_VIBE, Combine(Values("gpu/video/768x576.avi", "gpu/v
...
@@ -730,7 +770,7 @@ PERF_TEST_P(Video_Cn, Video_VIBE, Combine(Values("gpu/video/768x576.avi", "gpu/v
}
}
else
else
{
{
FAIL
();
FAIL
()
<<
"No such CPU implementation analogy"
;
}
}
}
}
...
@@ -739,7 +779,8 @@ PERF_TEST_P(Video_Cn, Video_VIBE, Combine(Values("gpu/video/768x576.avi", "gpu/v
...
@@ -739,7 +779,8 @@ PERF_TEST_P(Video_Cn, Video_VIBE, Combine(Values("gpu/video/768x576.avi", "gpu/v
DEF_PARAM_TEST
(
Video_Cn_MaxFeatures
,
string
,
MatCn
,
int
);
DEF_PARAM_TEST
(
Video_Cn_MaxFeatures
,
string
,
MatCn
,
int
);
PERF_TEST_P
(
Video_Cn_MaxFeatures
,
Video_GMG
,
Combine
(
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
),
GPU_CHANNELS_1_3_4
,
Values
(
20
,
40
,
60
)))
PERF_TEST_P
(
Video_Cn_MaxFeatures
,
DISABLED_Video_GMG
,
Combine
(
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
),
GPU_CHANNELS_1_3_4
,
Values
(
20
,
40
,
60
)))
{
{
std
::
string
inputFile
=
perf
::
TestBase
::
getDataPath
(
GET_PARAM
(
0
));
std
::
string
inputFile
=
perf
::
TestBase
::
getDataPath
(
GET_PARAM
(
0
));
int
cn
=
GET_PARAM
(
1
);
int
cn
=
GET_PARAM
(
1
);
...
@@ -762,7 +803,7 @@ PERF_TEST_P(Video_Cn_MaxFeatures, Video_GMG, Combine(Values("gpu/video/768x576.a
...
@@ -762,7 +803,7 @@ PERF_TEST_P(Video_Cn_MaxFeatures, Video_GMG, Combine(Values("gpu/video/768x576.a
cv
::
swap
(
temp
,
frame
);
cv
::
swap
(
temp
,
frame
);
}
}
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
GpuMat
d_frame
(
frame
);
cv
::
gpu
::
GpuMat
d_frame
(
frame
);
cv
::
gpu
::
GpuMat
d_fgmask
;
cv
::
gpu
::
GpuMat
d_fgmask
;
...
@@ -840,7 +881,7 @@ PERF_TEST_P(Video_Cn_MaxFeatures, Video_GMG, Combine(Values("gpu/video/768x576.a
...
@@ -840,7 +881,7 @@ PERF_TEST_P(Video_Cn_MaxFeatures, Video_GMG, Combine(Values("gpu/video/768x576.a
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
// VideoWriter
// VideoWriter
PERF_TEST_P
(
Video
,
Video_VideoWriter
,
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
))
PERF_TEST_P
(
Video
,
DISABLED_
Video_VideoWriter
,
Values
(
"gpu/video/768x576.avi"
,
"gpu/video/1920x1080.avi"
))
{
{
declare
.
time
(
30
);
declare
.
time
(
30
);
...
@@ -854,7 +895,7 @@ PERF_TEST_P(Video, Video_VideoWriter, Values("gpu/video/768x576.avi", "gpu/video
...
@@ -854,7 +895,7 @@ PERF_TEST_P(Video, Video_VideoWriter, Values("gpu/video/768x576.avi", "gpu/video
cv
::
Mat
frame
;
cv
::
Mat
frame
;
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
VideoWriter_GPU
d_writer
;
cv
::
gpu
::
VideoWriter_GPU
d_writer
;
...
@@ -903,7 +944,7 @@ PERF_TEST_P(Video, Video_VideoReader, Values("gpu/video/768x576.avi", "gpu/video
...
@@ -903,7 +944,7 @@ PERF_TEST_P(Video, Video_VideoReader, Values("gpu/video/768x576.avi", "gpu/video
string
inputFile
=
perf
::
TestBase
::
getDataPath
(
GetParam
());
string
inputFile
=
perf
::
TestBase
::
getDataPath
(
GetParam
());
if
(
runOnGpu
)
if
(
PERF_RUN_GPU
()
)
{
{
cv
::
gpu
::
VideoReader_GPU
d_reader
(
inputFile
);
cv
::
gpu
::
VideoReader_GPU
d_reader
(
inputFile
);
ASSERT_TRUE
(
d_reader
.
isOpened
()
);
ASSERT_TRUE
(
d_reader
.
isOpened
()
);
...
@@ -916,6 +957,8 @@ PERF_TEST_P(Video, Video_VideoReader, Values("gpu/video/768x576.avi", "gpu/video
...
@@ -916,6 +957,8 @@ PERF_TEST_P(Video, Video_VideoReader, Values("gpu/video/768x576.avi", "gpu/video
{
{
d_reader
.
read
(
d_frame
);
d_reader
.
read
(
d_frame
);
}
}
GPU_SANITY_CHECK
(
d_frame
);
}
}
else
else
{
{
...
@@ -930,6 +973,8 @@ PERF_TEST_P(Video, Video_VideoReader, Values("gpu/video/768x576.avi", "gpu/video
...
@@ -930,6 +973,8 @@ PERF_TEST_P(Video, Video_VideoReader, Values("gpu/video/768x576.avi", "gpu/video
{
{
reader
>>
frame
;
reader
>>
frame
;
}
}
CPU_SANITY_CHECK
(
frame
);
}
}
}
}
...
...
modules/gpu/perf/utility.cpp
View file @
9368aa9f
...
@@ -4,8 +4,6 @@ using namespace std;
...
@@ -4,8 +4,6 @@ using namespace std;
using
namespace
cv
;
using
namespace
cv
;
using
namespace
cv
::
gpu
;
using
namespace
cv
::
gpu
;
bool
runOnGpu
=
true
;
void
fillRandom
(
Mat
&
m
,
double
a
,
double
b
)
void
fillRandom
(
Mat
&
m
,
double
a
,
double
b
)
{
{
RNG
rng
(
123456789
);
RNG
rng
(
123456789
);
...
@@ -190,4 +188,4 @@ void PrintTo(const CvtColorInfo& info, ostream* os)
...
@@ -190,4 +188,4 @@ void PrintTo(const CvtColorInfo& info, ostream* os)
};
};
*
os
<<
str
[
info
.
code
];
*
os
<<
str
[
info
.
code
];
}
}
\ No newline at end of file
modules/gpu/perf/utility.hpp
View file @
9368aa9f
...
@@ -6,8 +6,6 @@
...
@@ -6,8 +6,6 @@
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/ts/ts_perf.hpp"
#include "opencv2/ts/ts_perf.hpp"
extern
bool
runOnGpu
;
void
fillRandom
(
cv
::
Mat
&
m
,
double
a
=
0.0
,
double
b
=
255.0
);
void
fillRandom
(
cv
::
Mat
&
m
,
double
a
=
0.0
,
double
b
=
255.0
);
cv
::
Mat
readImage
(
const
std
::
string
&
fileName
,
int
flags
=
cv
::
IMREAD_COLOR
);
cv
::
Mat
readImage
(
const
std
::
string
&
fileName
,
int
flags
=
cv
::
IMREAD_COLOR
);
...
@@ -48,5 +46,37 @@ DEF_PARAM_TEST(Sz_Depth_Cn, cv::Size, MatDepth, MatCn);
...
@@ -48,5 +46,37 @@ DEF_PARAM_TEST(Sz_Depth_Cn, cv::Size, MatDepth, MatCn);
#define GPU_TYPICAL_MAT_SIZES testing::Values(perf::sz720p, perf::szSXGA, perf::sz1080p)
#define GPU_TYPICAL_MAT_SIZES testing::Values(perf::sz720p, perf::szSXGA, perf::sz1080p)
#define GPU_SANITY_CHECK(dmat, ...) \
do
{
\
cv
::
Mat
d
##
dmat
(
dmat
);
\
SANITY_CHECK
(
d
##
dmat
,
##
__VA_ARGS__
);
\
}
while
(
0
)
#define CPU_SANITY_CHECK(cmat, ...) \
do
{
\
SANITY_CHECK
(
cmat
,
##
__VA_ARGS__
);
\
}
while
(
0
)
#define GPU_SANITY_CHECK_KEYPOINTS(alg, dmat, ...) \
do
{
\
cv
::
Mat
d
##
dmat
(
dmat
);
\
cv
::
Mat
__pt_x
=
d
##
dmat
.
row
(
cv
::
gpu
::
alg
##
_GPU
::
X_ROW
);
\
cv
::
Mat
__pt_y
=
d
##
dmat
.
row
(
cv
::
gpu
::
alg
##
_GPU
::
Y_ROW
);
\
cv
::
Mat
__angle
=
d
##
dmat
.
row
(
cv
::
gpu
::
alg
##
_GPU
::
ANGLE_ROW
);
\
cv
::
Mat
__octave
=
d
##
dmat
.
row
(
cv
::
gpu
::
alg
##
_GPU
::
OCTAVE_ROW
);
\
cv
::
Mat
__size
=
d
##
dmat
.
row
(
cv
::
gpu
::
alg
##
_GPU
::
SIZE_ROW
);
\
::
perf
::
Regression
::
add
(
this
,
std
::
string
(
#
dmat
)
+
"-pt-x-row"
,
__pt_x
,
##
__VA_ARGS__
);
\
::
perf
::
Regression
::
add
(
this
,
std
::
string
(
#
dmat
)
+
"-pt-y-row"
,
__pt_y
,
##
__VA_ARGS__
);
\
::
perf
::
Regression
::
add
(
this
,
std
::
string
(
#
dmat
)
+
"-angle-row"
,
__angle
,
##
__VA_ARGS__
);
\
::
perf
::
Regression
::
add
(
this
,
std
::
string
(
#
dmat
)
+
"octave-row"
,
__octave
,
##
__VA_ARGS__
);
\
::
perf
::
Regression
::
add
(
this
,
std
::
string
(
#
dmat
)
+
"-pt-size-row"
,
__size
,
##
__VA_ARGS__
);
\
}
while
(
0
)
#define GPU_SANITY_CHECK_RESPONSE(alg, dmat, ...) \
do
{
\
cv
::
Mat
d
##
dmat
(
dmat
);
\
cv
::
Mat
__response
=
d
##
dmat
.
row
(
cv
::
gpu
::
alg
##
_GPU
::
RESPONSE_ROW
);
\
::
perf
::
Regression
::
add
(
this
,
std
::
string
(
#
dmat
)
+
"-response-row"
,
__response
,
##
__VA_ARGS__
);
\
}
while
(
0
)
#endif // __OPENCV_PERF_GPU_UTILITY_HPP__
#endif // __OPENCV_PERF_GPU_UTILITY_HPP__
modules/ts/include/opencv2/ts/ts_perf.hpp
View file @
9368aa9f
...
@@ -205,6 +205,18 @@ private:
...
@@ -205,6 +205,18 @@ private:
#define SANITY_CHECK_KEYPOINTS(array, ...) ::perf::Regression::addKeypoints(this, #array, array , ## __VA_ARGS__)
#define SANITY_CHECK_KEYPOINTS(array, ...) ::perf::Regression::addKeypoints(this, #array, array , ## __VA_ARGS__)
#define SANITY_CHECK_MATCHES(array, ...) ::perf::Regression::addMatches(this, #array, array , ## __VA_ARGS__)
#define SANITY_CHECK_MATCHES(array, ...) ::perf::Regression::addMatches(this, #array, array , ## __VA_ARGS__)
#ifdef HAVE_CUDA
class
CV_EXPORTS
GpuPerf
{
public
:
static
bool
targetDevice
();
};
# define PERF_RUN_GPU() ::perf::GpuPerf::targetDevice()
#else
# define PERF_RUN_GPU() false
#endif
/*****************************************************************************************\
/*****************************************************************************************\
* Container for performance metrics *
* Container for performance metrics *
...
@@ -465,9 +477,10 @@ CV_EXPORTS void PrintTo(const Size& sz, ::std::ostream* os);
...
@@ -465,9 +477,10 @@ CV_EXPORTS void PrintTo(const Size& sz, ::std::ostream* os);
void fixture##_##name::PerfTestBody()
void fixture##_##name::PerfTestBody()
#define CV_PERF_TEST_MAIN(testsuitname) \
#define CV_PERF_TEST_MAIN(testsuitname
, ...
) \
int main(int argc, char **argv)\
int main(int argc, char **argv)\
{\
{\
__VA_ARGS__;\
::perf::Regression::Init(#testsuitname);\
::perf::Regression::Init(#testsuitname);\
::perf::TestBase::Init(argc, argv);\
::perf::TestBase::Init(argc, argv);\
::testing::InitGoogleTest(&argc, argv);\
::testing::InitGoogleTest(&argc, argv);\
...
...
modules/ts/src/ts_perf.cpp
View file @
9368aa9f
...
@@ -17,15 +17,20 @@ const std::string command_line_keys =
...
@@ -17,15 +17,20 @@ const std::string command_line_keys =
"{ perf_seed |809564 |seed for random numbers generator}"
"{ perf_seed |809564 |seed for random numbers generator}"
"{ perf_tbb_nthreads |-1 |if TBB is enabled, the number of TBB threads}"
"{ perf_tbb_nthreads |-1 |if TBB is enabled, the number of TBB threads}"
"{ perf_write_sanity | |allow to create new records for sanity checks}"
"{ perf_write_sanity | |allow to create new records for sanity checks}"
#ifdef ANDROID
#ifdef ANDROID
"{ perf_time_limit |6.0 |default time limit for a single test (in seconds)}"
"{ perf_time_limit |6.0 |default time limit for a single test (in seconds)}"
"{ perf_affinity_mask |0 |set affinity mask for the main thread}"
"{ perf_affinity_mask |0 |set affinity mask for the main thread}"
"{ perf_log_power_checkpoints | |additional xml logging for power measurement}"
"{ perf_log_power_checkpoints | |additional xml logging for power measurement}"
#else
#else
"{ perf_time_limit |3.0 |default time limit for a single test (in seconds)}"
"{ perf_time_limit |3.0 |default time limit for a single test (in seconds)}"
#endif
#endif
"{ perf_max_deviation |1.0 |}"
"{ perf_max_deviation |1.0 |}"
"{ help h | |print help info}"
"{ help h | |print help info}"
#ifdef HAVE_CUDA
"{ perf_run_cpu |false |run GPU performance tests for analogical CPU functions}"
"{ perf_cuda_device |0 |run GPU test suite onto specific CUDA capable device}"
"{ perf_cuda_info_only |false |print an information about system and an available CUDA devices and then exit.}"
#endif
;
;
static
double
param_max_outliers
;
static
double
param_max_outliers
;
...
@@ -36,10 +41,16 @@ static uint64 param_seed;
...
@@ -36,10 +41,16 @@ static uint64 param_seed;
static
double
param_time_limit
;
static
double
param_time_limit
;
static
int
param_tbb_nthreads
;
static
int
param_tbb_nthreads
;
static
bool
param_write_sanity
;
static
bool
param_write_sanity
;
#ifdef HAVE_CUDA
static
bool
param_run_cpu
;
static
int
param_cuda_device
;
#endif
#ifdef ANDROID
#ifdef ANDROID
static
int
param_affinity_mask
;
static
int
param_affinity_mask
;
static
bool
log_power_checkpoints
;
static
bool
log_power_checkpoints
;
#include <sys/syscall.h>
#include <sys/syscall.h>
#include <pthread.h>
#include <pthread.h>
static
void
setCurrentThreadAffinityMask
(
int
mask
)
static
void
setCurrentThreadAffinityMask
(
int
mask
)
...
@@ -56,6 +67,10 @@ static void setCurrentThreadAffinityMask(int mask)
...
@@ -56,6 +67,10 @@ static void setCurrentThreadAffinityMask(int mask)
#endif
#endif
#ifdef HAVE_CUDA
# include <opencv2/core/gpumat.hpp>
#endif
static
void
randu
(
cv
::
Mat
&
m
)
static
void
randu
(
cv
::
Mat
&
m
)
{
{
const
int
bigValue
=
0x00000FFF
;
const
int
bigValue
=
0x00000FFF
;
...
@@ -608,6 +623,33 @@ void TestBase::Init(int argc, const char* const argv[])
...
@@ -608,6 +623,33 @@ void TestBase::Init(int argc, const char* const argv[])
log_power_checkpoints
=
args
.
has
(
"perf_log_power_checkpoints"
);
log_power_checkpoints
=
args
.
has
(
"perf_log_power_checkpoints"
);
#endif
#endif
#ifdef HAVE_CUDA
bool
printOnly
=
args
.
has
(
"perf_cuda_info_only"
);
if
(
printOnly
)
exit
(
0
);
param_run_cpu
=
args
.
has
(
"perf_run_cpu"
);
param_cuda_device
=
std
::
max
(
0
,
std
::
min
(
cv
::
gpu
::
getCudaEnabledDeviceCount
(),
args
.
get
<
int
>
(
"perf_cuda_device"
)));
if
(
param_run_cpu
)
printf
(
"[----------]
\n
[ GPU INFO ]
\t
Run test suite on CPU.
\n
[----------]
\n
"
),
fflush
(
stdout
);
else
{
cv
::
gpu
::
DeviceInfo
info
(
param_cuda_device
);
if
(
!
info
.
isCompatible
())
{
printf
(
"[----------]
\n
[ FAILURE ]
\t
Device %s is NOT compatible with current GPU module build.
\n
[----------]
\n
"
,
info
.
name
().
c_str
()),
fflush
(
stdout
);
exit
(
-
1
);
}
cv
::
gpu
::
setDevice
(
param_cuda_device
);
printf
(
"[----------]
\n
[ GPU INFO ]
\t
Run test suite on %s GPU.
\n
[----------]
\n
"
,
info
.
name
().
c_str
()),
fflush
(
stdout
);
}
#endif
if
(
!
args
.
check
())
if
(
!
args
.
check
())
{
{
args
.
printErrors
();
args
.
printErrors
();
...
@@ -1185,6 +1227,16 @@ TestBase::_declareHelper::_declareHelper(TestBase* t) : test(t)
...
@@ -1185,6 +1227,16 @@ TestBase::_declareHelper::_declareHelper(TestBase* t) : test(t)
{
{
}
}
/*****************************************************************************************\
* ::perf::GpuPerf
\*****************************************************************************************/
#ifdef HAVE_CUDA
bool
perf
::
GpuPerf
::
targetDevice
()
{
return
!
param_run_cpu
;
}
#endif
/*****************************************************************************************\
/*****************************************************************************************\
* ::perf::PrintTo
* ::perf::PrintTo
\*****************************************************************************************/
\*****************************************************************************************/
...
...
modules/videostab/src/global_motion.cpp
View file @
9368aa9f
...
@@ -756,7 +756,7 @@ Mat KeypointBasedMotionEstimatorGpu::estimate(const gpu::GpuMat &frame0, const g
...
@@ -756,7 +756,7 @@ Mat KeypointBasedMotionEstimatorGpu::estimate(const gpu::GpuMat &frame0, const g
grayFrame0
=
frame0
;
grayFrame0
=
frame0
;
else
else
{
{
gpu
::
cvtColor
(
frame0
_
,
grayFrame0_
,
CV_BGR2GRAY
);
gpu
::
cvtColor
(
frame0
,
grayFrame0_
,
CV_BGR2GRAY
);
grayFrame0
=
grayFrame0_
;
grayFrame0
=
grayFrame0_
;
}
}
...
...
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