|
|
|
@ -79,6 +79,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border_Mode, ImgProc_Remap, Combine( |
|
|
|
|
generateMap(xmap, ymap, remapMode); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_xmap(xmap); |
|
|
|
@ -94,6 +96,12 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border_Mode, ImgProc_Remap, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -133,6 +141,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Scale, ImgProc_Resize, Combine( |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -146,6 +156,12 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Scale, ImgProc_Resize, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -184,6 +200,8 @@ PERF_TEST_P(Sz_Depth_Cn_Scale, ImgProc_ResizeArea, Combine( |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -197,6 +215,12 @@ PERF_TEST_P(Sz_Depth_Cn_Scale, ImgProc_ResizeArea, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -241,6 +265,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border, ImgProc_WarpAffine, Combine( |
|
|
|
|
cv::Mat M(2, 3, CV_64F, (void*) mat); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -254,6 +280,12 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border, ImgProc_WarpAffine, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -297,6 +329,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border, ImgProc_WarpPerspective, Combine( |
|
|
|
|
cv::Mat M(3, 3, CV_64F, (void*) mat); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -310,6 +344,12 @@ PERF_TEST_P(Sz_Depth_Cn_Inter_Border, ImgProc_WarpPerspective, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -345,6 +385,8 @@ PERF_TEST_P(Sz_Depth_Cn_Border, ImgProc_CopyMakeBorder, Combine( |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -358,6 +400,12 @@ PERF_TEST_P(Sz_Depth_Cn_Border, ImgProc_CopyMakeBorder, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -392,6 +440,8 @@ PERF_TEST_P(Sz_Depth_Op, ImgProc_Threshold, Combine( |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -405,6 +455,12 @@ PERF_TEST_P(Sz_Depth_Op, ImgProc_Threshold, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -429,6 +485,8 @@ PERF_TEST_P(Sz, ImgProc_Integral, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -443,6 +501,12 @@ PERF_TEST_P(Sz, ImgProc_Integral, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -467,6 +531,8 @@ PERF_TEST_P(Sz, ImgProc_IntegralSqr, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -480,6 +546,12 @@ PERF_TEST_P(Sz, ImgProc_IntegralSqr, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -498,6 +570,8 @@ PERF_TEST_P(Sz_Depth, ImgProc_HistEvenC1, Combine(GPU_TYPICAL_MAT_SIZES, Values( |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_hist; |
|
|
|
@ -512,6 +586,12 @@ PERF_TEST_P(Sz_Depth, ImgProc_HistEvenC1, Combine(GPU_TYPICAL_MAT_SIZES, Values( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_hist); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
int hbins = 30; |
|
|
|
@ -547,6 +627,8 @@ PERF_TEST_P(Sz_Depth, ImgProc_HistEvenC4, Combine(GPU_TYPICAL_MAT_SIZES, Values( |
|
|
|
|
int upperLevel[] = {180, 180, 180, 180}; |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_hist[4]; |
|
|
|
@ -561,6 +643,12 @@ PERF_TEST_P(Sz_Depth, ImgProc_HistEvenC4, Combine(GPU_TYPICAL_MAT_SIZES, Values( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_hist0); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -578,6 +666,8 @@ PERF_TEST_P(Sz, ImgProc_CalcHist, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_hist; |
|
|
|
@ -591,6 +681,12 @@ PERF_TEST_P(Sz, ImgProc_CalcHist, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_hist); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -608,6 +704,8 @@ PERF_TEST_P(Sz, ImgProc_EqualizeHist, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -623,6 +721,12 @@ PERF_TEST_P(Sz, ImgProc_EqualizeHist, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_hist); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -647,6 +751,8 @@ PERF_TEST_P(Sz, ImgProc_ColumnSum, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -660,6 +766,12 @@ PERF_TEST_P(Sz, ImgProc_ColumnSum, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -684,6 +796,8 @@ PERF_TEST_P(Image_AppertureSz_L2gradient, ImgProc_Canny, Combine( |
|
|
|
|
ASSERT_FALSE(image.empty()); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_image(image); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -698,6 +812,12 @@ PERF_TEST_P(Image_AppertureSz_L2gradient, ImgProc_Canny, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -727,6 +847,8 @@ PERF_TEST_P(Image, ImgProc_MeanShiftFiltering, Values<string>("gpu/meanshift/con |
|
|
|
|
cv::cvtColor(img, rgba, cv::COLOR_BGR2BGRA); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(rgba); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -740,6 +862,12 @@ PERF_TEST_P(Image, ImgProc_MeanShiftFiltering, Values<string>("gpu/meanshift/con |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -767,6 +895,8 @@ PERF_TEST_P(Image, ImgProc_MeanShiftProc, Values<string>("gpu/meanshift/cones.pn |
|
|
|
|
cv::cvtColor(img, rgba, cv::COLOR_BGR2BGRA); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(rgba); |
|
|
|
|
cv::gpu::GpuMat d_dstr; |
|
|
|
@ -781,6 +911,12 @@ PERF_TEST_P(Image, ImgProc_MeanShiftProc, Values<string>("gpu/meanshift/cones.pn |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dstr); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -803,6 +939,8 @@ PERF_TEST_P(Image, ImgProc_MeanShiftSegmentation, Values<string>("gpu/meanshift/ |
|
|
|
|
cv::Mat dst; |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(rgba); |
|
|
|
|
|
|
|
|
@ -815,6 +953,12 @@ PERF_TEST_P(Image, ImgProc_MeanShiftSegmentation, Values<string>("gpu/meanshift/ |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -839,6 +983,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_BlendLinear, Combine(GPU_TYPICAL_MAT_SIZES, Val |
|
|
|
|
fillRandom(img2); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_img1(img1); |
|
|
|
|
cv::gpu::GpuMat d_img2(img2); |
|
|
|
@ -855,6 +1001,12 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_BlendLinear, Combine(GPU_TYPICAL_MAT_SIZES, Val |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -881,6 +1033,8 @@ PERF_TEST_P(Sz_KernelSz_Ccorr, ImgProc_Convolve, Combine(GPU_TYPICAL_MAT_SIZES, |
|
|
|
|
templ.setTo(1.0); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_image = cv::gpu::createContinuous(size, CV_32FC1); |
|
|
|
|
d_image.upload(image); |
|
|
|
@ -900,6 +1054,12 @@ PERF_TEST_P(Sz_KernelSz_Ccorr, ImgProc_Convolve, Combine(GPU_TYPICAL_MAT_SIZES, |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
ASSERT_FALSE(ccorr); |
|
|
|
@ -943,6 +1103,8 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate8U, Combine( |
|
|
|
|
fillRandom(templ); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_image(image); |
|
|
|
|
cv::gpu::GpuMat d_templ(templ); |
|
|
|
@ -957,6 +1119,12 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate8U, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -993,6 +1161,8 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate32F, Combine( |
|
|
|
|
fillRandom(templ); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_image(image); |
|
|
|
|
cv::gpu::GpuMat d_templ(templ); |
|
|
|
@ -1007,6 +1177,12 @@ PERF_TEST_P(Sz_TemplateSz_Cn_Method, ImgProc_MatchTemplate32F, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -1043,6 +1219,8 @@ PERF_TEST_P(Sz_Flags, ImgProc_MulSpectrums, Combine( |
|
|
|
|
fillRandom(b, 0, 100); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_a(a); |
|
|
|
|
cv::gpu::GpuMat d_b(b); |
|
|
|
@ -1057,6 +1235,12 @@ PERF_TEST_P(Sz_Flags, ImgProc_MulSpectrums, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -1088,6 +1272,8 @@ PERF_TEST_P(Sz, ImgProc_MulAndScaleSpectrums, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
fillRandom(src2, 0, 100); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src1(src1); |
|
|
|
|
cv::gpu::GpuMat d_src2(src2); |
|
|
|
@ -1102,6 +1288,12 @@ PERF_TEST_P(Sz, ImgProc_MulAndScaleSpectrums, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -1124,6 +1316,8 @@ PERF_TEST_P(Sz_Flags, ImgProc_Dft, Combine( |
|
|
|
|
fillRandom(src, 0, 100); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -1137,6 +1331,12 @@ PERF_TEST_P(Sz_Flags, ImgProc_Dft, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -1177,6 +1377,8 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerHarris, Combine( |
|
|
|
|
double k = 0.5; |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_img(img); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -1193,6 +1395,12 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerHarris, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -1230,6 +1438,8 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerMinEigenVal, Com |
|
|
|
|
img.convertTo(img, type, type == CV_32F ? 1.0 / 255.0 : 1.0); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_img(img); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -1246,6 +1456,12 @@ PERF_TEST_P(Image_Type_Border_BlockSz_ApertureSz, ImgProc_CornerMinEigenVal, Com |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -1273,6 +1489,8 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpPlaneMaps, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
cv::Mat T = cv::Mat::zeros(1, 3, CV_32F); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_map_x; |
|
|
|
|
cv::gpu::GpuMat d_map_y; |
|
|
|
@ -1287,6 +1505,12 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpPlaneMaps, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
GPU_SANITY_CHECK(d_map_x); |
|
|
|
|
GPU_SANITY_CHECK(d_map_y); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -1304,6 +1528,8 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpCylindricalMaps, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
cv::Mat R = cv::Mat::ones(3, 3, CV_32FC1); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_map_x; |
|
|
|
|
cv::gpu::GpuMat d_map_y; |
|
|
|
@ -1318,6 +1544,12 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpCylindricalMaps, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
GPU_SANITY_CHECK(d_map_x); |
|
|
|
|
GPU_SANITY_CHECK(d_map_y); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -1335,6 +1567,8 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpSphericalMaps, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
cv::Mat R = cv::Mat::ones(3, 3, CV_32FC1); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_map_x; |
|
|
|
|
cv::gpu::GpuMat d_map_y; |
|
|
|
@ -1348,7 +1582,12 @@ PERF_TEST_P(Sz, ImgProc_BuildWarpSphericalMaps, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_map_x); |
|
|
|
|
GPU_SANITY_CHECK(d_map_y); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
@ -1378,6 +1617,8 @@ PERF_TEST_P(Sz_Depth_Cn_Inter, ImgProc_Rotate, Combine( |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -1391,6 +1632,12 @@ PERF_TEST_P(Sz_Depth_Cn_Inter, ImgProc_Rotate, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -1415,6 +1662,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrDown, Combine( |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -1428,6 +1677,12 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrDown, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -1461,6 +1716,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrUp, Combine( |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -1474,6 +1731,12 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_PyrUp, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -1532,6 +1795,8 @@ PERF_TEST_P(Sz_Depth_Code, ImgProc_CvtColor, Combine( |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -1545,6 +1810,12 @@ PERF_TEST_P(Sz_Depth_Code, ImgProc_CvtColor, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat dst; |
|
|
|
@ -1573,6 +1844,8 @@ PERF_TEST_P(Sz, ImgProc_SwapChannels, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
const int dstOrder[] = {2, 1, 0, 3}; |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
|
|
|
|
@ -1585,6 +1858,12 @@ PERF_TEST_P(Sz, ImgProc_SwapChannels, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_src); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -1612,6 +1891,8 @@ PERF_TEST_P(Sz_Type_Op, ImgProc_AlphaComp, Combine(GPU_TYPICAL_MAT_SIZES, Values |
|
|
|
|
fillRandom(img2); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_img1(img1); |
|
|
|
|
cv::gpu::GpuMat d_img2(img2); |
|
|
|
@ -1626,6 +1907,12 @@ PERF_TEST_P(Sz_Type_Op, ImgProc_AlphaComp, Combine(GPU_TYPICAL_MAT_SIZES, Values |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -1647,6 +1934,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidBuild, Combine(GPU_TYPICAL_MAT_SIZE |
|
|
|
|
fillRandom(src); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
|
|
|
|
@ -1661,6 +1950,12 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidBuild, Combine(GPU_TYPICAL_MAT_SIZE |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_src); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -1684,6 +1979,8 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidGetLayer, Combine(GPU_TYPICAL_MAT_S |
|
|
|
|
cv::Size dstSize(size.width / 2 + 10, size.height / 2 + 10); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_dst; |
|
|
|
@ -1699,6 +1996,12 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidGetLayer, Combine(GPU_TYPICAL_MAT_S |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_dst); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
FAIL() << "No such CPU implementation analogy"; |
|
|
|
@ -1761,6 +2064,8 @@ PERF_TEST_P(Sz, ImgProc_HoughLines, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_lines; |
|
|
|
@ -1779,6 +2084,12 @@ PERF_TEST_P(Sz, ImgProc_HoughLines, GPU_TYPICAL_MAT_SIZES) |
|
|
|
|
std::sort(begin, end, Vec2fComparator()); |
|
|
|
|
SANITY_CHECK(h_lines); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
std::vector<cv::Vec2f> lines; |
|
|
|
@ -1817,6 +2128,8 @@ PERF_TEST_P(Image, ImgProc_HoughLinesP, testing::Values("cv/shared/pic5.png", "s |
|
|
|
|
cv::Canny(image, mask, 50, 100); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_mask(mask); |
|
|
|
|
cv::gpu::GpuMat d_lines; |
|
|
|
@ -1835,6 +2148,12 @@ PERF_TEST_P(Image, ImgProc_HoughLinesP, testing::Values("cv/shared/pic5.png", "s |
|
|
|
|
std::sort(begin, end, Vec4iComparator()); |
|
|
|
|
SANITY_CHECK(h_lines); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
std::vector<cv::Vec4i> lines; |
|
|
|
@ -1882,6 +2201,8 @@ PERF_TEST_P(Sz_Dp_MinDist, ImgProc_HoughCircles, Combine(GPU_TYPICAL_MAT_SIZES, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_src(src); |
|
|
|
|
cv::gpu::GpuMat d_circles; |
|
|
|
@ -1900,6 +2221,12 @@ PERF_TEST_P(Sz_Dp_MinDist, ImgProc_HoughCircles, Combine(GPU_TYPICAL_MAT_SIZES, |
|
|
|
|
std::sort(begin, end, Vec3fComparator()); |
|
|
|
|
SANITY_CHECK(h_circles); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
std::vector<cv::Vec3f> circles; |
|
|
|
@ -1966,6 +2293,8 @@ PERF_TEST_P(Method_Sz, ImgProc_GeneralizedHough, Combine( |
|
|
|
|
cv::Sobel(image, dy, CV_32F, 0, 1); |
|
|
|
|
|
|
|
|
|
if (PERF_RUN_GPU()) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
cv::gpu::GpuMat d_edges(edges); |
|
|
|
|
cv::gpu::GpuMat d_dx(dx); |
|
|
|
@ -1990,6 +2319,12 @@ PERF_TEST_P(Method_Sz, ImgProc_GeneralizedHough, Combine( |
|
|
|
|
|
|
|
|
|
GPU_SANITY_CHECK(d_position); |
|
|
|
|
} |
|
|
|
|
catch (...) |
|
|
|
|
{ |
|
|
|
|
cv::gpu::resetDevice(); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cv::Mat positions; |
|
|
|
|