1 #include "perf_cpu_precomp.hpp"
\r
5 //////////////////////////////////////////////////////////////////////
\r
8 GPU_PERF_TEST(Remap, cv::gpu::DeviceInfo, cv::Size, MatType, Interpolation, BorderMode)
\r
10 cv::Size size = GET_PARAM(1);
\r
11 int type = GET_PARAM(2);
\r
12 int interpolation = GET_PARAM(3);
\r
13 int borderMode = GET_PARAM(4);
\r
15 cv::Mat src(size, type);
\r
18 cv::Mat xmap(size, CV_32FC1);
\r
19 fill(xmap, 0, size.width);
\r
21 cv::Mat ymap(size, CV_32FC1);
\r
22 fill(ymap, 0, size.height);
\r
26 cv::remap(src, dst, xmap, ymap, interpolation, borderMode);
\r
32 cv::remap(src, dst, xmap, ymap, interpolation, borderMode);
\r
36 INSTANTIATE_TEST_CASE_P(ImgProc, Remap, testing::Combine(
\r
38 GPU_TYPICAL_MAT_SIZES,
\r
39 testing::Values(MatType(CV_8UC1), MatType(CV_8UC3), MatType(CV_8UC4),
\r
40 MatType(CV_16UC1), MatType(CV_16UC3), MatType(CV_16UC4),
\r
41 MatType(CV_32FC1), MatType(CV_32FC3), MatType(CV_32FC4)),
\r
42 testing::Values(Interpolation(cv::INTER_NEAREST), Interpolation(cv::INTER_LINEAR), Interpolation(cv::INTER_CUBIC)),
\r
43 testing::Values(BorderMode(cv::BORDER_REFLECT101), BorderMode(cv::BORDER_REPLICATE), BorderMode(cv::BORDER_CONSTANT), BorderMode(cv::BORDER_REFLECT), BorderMode(cv::BORDER_WRAP))));
\r
46 //////////////////////////////////////////////////////////////////////
\r
49 IMPLEMENT_PARAM_CLASS(Scale, double)
\r
51 GPU_PERF_TEST(Resize, cv::gpu::DeviceInfo, cv::Size, MatType, Interpolation, Scale)
\r
53 cv::Size size = GET_PARAM(1);
\r
54 int type = GET_PARAM(2);
\r
55 int interpolation = GET_PARAM(3);
\r
56 double f = GET_PARAM(4);
\r
58 cv::Mat src(size, type);
\r
63 cv::resize(src, dst, cv::Size(), f, f, interpolation);
\r
69 cv::resize(src, dst, cv::Size(), f, f, interpolation);
\r
73 INSTANTIATE_TEST_CASE_P(ImgProc, Resize, testing::Combine(
\r
75 GPU_TYPICAL_MAT_SIZES,
\r
76 testing::Values(MatType(CV_8UC1), MatType(CV_8UC3), MatType(CV_8UC4),
\r
77 MatType(CV_16UC1), MatType(CV_16UC3), MatType(CV_16UC4),
\r
78 MatType(CV_32FC1), MatType(CV_32FC3), MatType(CV_32FC4)),
\r
79 testing::Values(Interpolation(cv::INTER_NEAREST), Interpolation(cv::INTER_LINEAR), Interpolation(cv::INTER_CUBIC)),
\r
80 testing::Values(Scale(0.5), Scale(2.0))));
\r
82 //////////////////////////////////////////////////////////////////////
\r
85 GPU_PERF_TEST(WarpAffine, cv::gpu::DeviceInfo, cv::Size, MatType, Interpolation, BorderMode)
\r
87 cv::Size size = GET_PARAM(1);
\r
88 int type = GET_PARAM(2);
\r
89 int interpolation = GET_PARAM(3);
\r
90 int borderMode = GET_PARAM(4);
\r
92 cv::Mat src(size, type);
\r
97 const double aplha = CV_PI / 4;
\r
98 double mat[2][3] = { {std::cos(aplha), -std::sin(aplha), src.cols / 2},
\r
99 {std::sin(aplha), std::cos(aplha), 0}};
\r
100 cv::Mat M(2, 3, CV_64F, (void*) mat);
\r
102 cv::warpAffine(src, dst, M, size, interpolation, borderMode);
\r
104 declare.time(20.0);
\r
108 cv::warpAffine(src, dst, M, size, interpolation, borderMode);
\r
112 INSTANTIATE_TEST_CASE_P(ImgProc, WarpAffine, testing::Combine(
\r
114 GPU_TYPICAL_MAT_SIZES,
\r
115 testing::Values(MatType(CV_8UC1), MatType(CV_8UC3), MatType(CV_8UC4),
\r
116 MatType(CV_16UC1), MatType(CV_16UC3), MatType(CV_16UC4),
\r
117 MatType(CV_32FC1), MatType(CV_32FC3), MatType(CV_32FC4)),
\r
118 testing::Values(Interpolation(cv::INTER_NEAREST), Interpolation(cv::INTER_LINEAR), Interpolation(cv::INTER_CUBIC)),
\r
119 testing::Values(BorderMode(cv::BORDER_REFLECT101), BorderMode(cv::BORDER_REPLICATE), BorderMode(cv::BORDER_CONSTANT), BorderMode(cv::BORDER_REFLECT), BorderMode(cv::BORDER_WRAP))));
\r
121 //////////////////////////////////////////////////////////////////////
\r
124 GPU_PERF_TEST(WarpPerspective, cv::gpu::DeviceInfo, cv::Size, MatType, Interpolation, BorderMode)
\r
126 cv::Size size = GET_PARAM(1);
\r
127 int type = GET_PARAM(2);
\r
128 int interpolation = GET_PARAM(3);
\r
129 int borderMode = GET_PARAM(4);
\r
131 cv::Mat src(size, type);
\r
136 const double aplha = CV_PI / 4;
\r
137 double mat[3][3] = { {std::cos(aplha), -std::sin(aplha), src.cols / 2},
\r
138 {std::sin(aplha), std::cos(aplha), 0},
\r
140 cv::Mat M(3, 3, CV_64F, (void*) mat);
\r
142 cv::warpPerspective(src, dst, M, size, interpolation, borderMode);
\r
144 declare.time(20.0);
\r
148 cv::warpPerspective(src, dst, M, size, interpolation, borderMode);
\r
152 INSTANTIATE_TEST_CASE_P(ImgProc, WarpPerspective, testing::Combine(
\r
154 GPU_TYPICAL_MAT_SIZES,
\r
155 testing::Values(MatType(CV_8UC1), MatType(CV_8UC3), MatType(CV_8UC4),
\r
156 MatType(CV_16UC1), MatType(CV_16UC3), MatType(CV_16UC4),
\r
157 MatType(CV_32FC1), MatType(CV_32FC3), MatType(CV_32FC4)),
\r
158 testing::Values(Interpolation(cv::INTER_NEAREST), Interpolation(cv::INTER_LINEAR), Interpolation(cv::INTER_CUBIC)),
\r
159 testing::Values(BorderMode(cv::BORDER_REFLECT101), BorderMode(cv::BORDER_REPLICATE), BorderMode(cv::BORDER_CONSTANT), BorderMode(cv::BORDER_REFLECT), BorderMode(cv::BORDER_WRAP))));
\r
161 //////////////////////////////////////////////////////////////////////
\r
164 GPU_PERF_TEST(CopyMakeBorder, cv::gpu::DeviceInfo, cv::Size, MatType, BorderMode)
\r
166 cv::Size size = GET_PARAM(1);
\r
167 int type = GET_PARAM(2);
\r
168 int borderType = GET_PARAM(3);
\r
170 cv::Mat src(size, type);
\r
175 cv::copyMakeBorder(src, dst, 5, 5, 5, 5, borderType);
\r
179 cv::copyMakeBorder(src, dst, 5, 5, 5, 5, borderType);
\r
183 INSTANTIATE_TEST_CASE_P(ImgProc, CopyMakeBorder, testing::Combine(
\r
185 GPU_TYPICAL_MAT_SIZES,
\r
186 testing::Values(MatType(CV_8UC1), MatType(CV_8UC3), MatType(CV_8UC4),
\r
187 MatType(CV_16UC1), MatType(CV_16UC3), MatType(CV_16UC4),
\r
188 MatType(CV_32FC1), MatType(CV_32FC3), MatType(CV_32FC4)),
\r
189 testing::Values(BorderMode(cv::BORDER_REFLECT101), BorderMode(cv::BORDER_REPLICATE), BorderMode(cv::BORDER_CONSTANT), BorderMode(cv::BORDER_REFLECT), BorderMode(cv::BORDER_WRAP))));
\r
191 //////////////////////////////////////////////////////////////////////
\r
194 CV_ENUM(ThreshOp, cv::THRESH_BINARY, cv::THRESH_BINARY_INV, cv::THRESH_TRUNC, cv::THRESH_TOZERO, cv::THRESH_TOZERO_INV)
\r
195 #define ALL_THRESH_OPS testing::Values(ThreshOp(cv::THRESH_BINARY), ThreshOp(cv::THRESH_BINARY_INV), ThreshOp(cv::THRESH_TRUNC), ThreshOp(cv::THRESH_TOZERO), ThreshOp(cv::THRESH_TOZERO_INV))
\r
197 GPU_PERF_TEST(Threshold, cv::gpu::DeviceInfo, cv::Size, MatDepth, ThreshOp)
\r
199 cv::Size size = GET_PARAM(1);
\r
200 int depth = GET_PARAM(2);
\r
201 int threshOp = GET_PARAM(3);
\r
203 cv::Mat src(size, depth);
\r
208 cv::threshold(src, dst, 100.0, 255.0, threshOp);
\r
212 cv::threshold(src, dst, 100.0, 255.0, threshOp);
\r
216 INSTANTIATE_TEST_CASE_P(ImgProc, Threshold, testing::Combine(
\r
218 GPU_TYPICAL_MAT_SIZES,
\r
219 testing::Values(MatDepth(CV_8U), MatDepth(CV_16U), MatDepth(CV_32F), MatDepth(CV_64F)),
\r
222 //////////////////////////////////////////////////////////////////////
\r
225 GPU_PERF_TEST(Integral, cv::gpu::DeviceInfo, cv::Size)
\r
227 cv::Size size = GET_PARAM(1);
\r
229 cv::Mat src(size, CV_8UC1);
\r
234 cv::integral(src, dst);
\r
238 cv::integral(src, dst);
\r
242 INSTANTIATE_TEST_CASE_P(ImgProc, Integral, testing::Combine(
\r
244 GPU_TYPICAL_MAT_SIZES));
\r
246 //////////////////////////////////////////////////////////////////////
\r
247 // HistEven_OneChannel
\r
249 GPU_PERF_TEST(HistEven_OneChannel, cv::gpu::DeviceInfo, cv::Size, MatDepth)
\r
251 cv::Size size = GET_PARAM(1);
\r
252 int depth = GET_PARAM(2);
\r
254 cv::Mat src(size, depth);
\r
258 float hranges[] = {0.0f, 180.0f};
\r
260 int histSize[] = {hbins};
\r
261 const float* ranges[] = {hranges};
\r
262 int channels[] = {0};
\r
264 cv::calcHist(&src, 1, channels, cv::Mat(), hist, 1, histSize, ranges);
\r
268 cv::calcHist(&src, 1, channels, cv::Mat(), hist, 1, histSize, ranges);
\r
272 INSTANTIATE_TEST_CASE_P(ImgProc, HistEven_OneChannel, testing::Combine(
\r
274 GPU_TYPICAL_MAT_SIZES,
\r
275 testing::Values(MatDepth(CV_8U), MatDepth(CV_16U), MatDepth(CV_16S))));
\r
277 //////////////////////////////////////////////////////////////////////
\r
280 GPU_PERF_TEST(EqualizeHist, cv::gpu::DeviceInfo, cv::Size)
\r
282 cv::Size size = GET_PARAM(1);
\r
284 cv::Mat src(size, CV_8UC1);
\r
289 cv::equalizeHist(src, dst);
\r
293 cv::equalizeHist(src, dst);
\r
297 INSTANTIATE_TEST_CASE_P(ImgProc, EqualizeHist, testing::Combine(
\r
299 GPU_TYPICAL_MAT_SIZES));
\r
301 //////////////////////////////////////////////////////////////////////
\r
304 IMPLEMENT_PARAM_CLASS(AppertureSize, int)
\r
305 IMPLEMENT_PARAM_CLASS(L2gradient, bool)
\r
307 GPU_PERF_TEST(Canny, cv::gpu::DeviceInfo, AppertureSize, L2gradient)
\r
309 int apperture_size = GET_PARAM(1);
\r
310 bool useL2gradient = GET_PARAM(2);
\r
312 cv::Mat image = readImage("perf/1280x1024.jpg", cv::IMREAD_GRAYSCALE);
\r
313 ASSERT_FALSE(image.empty());
\r
317 cv::Canny(image, dst, 50.0, 100.0, apperture_size, useL2gradient);
\r
321 cv::Canny(image, dst, 50.0, 100.0, apperture_size, useL2gradient);
\r
325 INSTANTIATE_TEST_CASE_P(ImgProc, Canny, testing::Combine(
\r
327 testing::Values(AppertureSize(3), AppertureSize(5)),
\r
328 testing::Values(L2gradient(false), L2gradient(true))));
\r
330 //////////////////////////////////////////////////////////////////////
\r
331 // MeanShiftFiltering
\r
333 GPU_PERF_TEST_1(MeanShiftFiltering, cv::gpu::DeviceInfo)
\r
335 cv::Mat img = readImage("gpu/meanshift/cones.png");
\r
336 ASSERT_FALSE(img.empty());
\r
340 cv::pyrMeanShiftFiltering(img, dst, 50, 50);
\r
342 declare.time(15.0);
\r
346 cv::pyrMeanShiftFiltering(img, dst, 50, 50);
\r
350 INSTANTIATE_TEST_CASE_P(ImgProc, MeanShiftFiltering, ALL_DEVICES);
\r
352 //////////////////////////////////////////////////////////////////////
\r
355 IMPLEMENT_PARAM_CLASS(KSize, int)
\r
356 IMPLEMENT_PARAM_CLASS(Ccorr, bool)
\r
358 GPU_PERF_TEST(Convolve, cv::gpu::DeviceInfo, cv::Size, KSize, Ccorr)
\r
360 cv::Size size = GET_PARAM(1);
\r
361 int templ_size = GET_PARAM(2);
\r
362 bool ccorr = GET_PARAM(3);
\r
364 ASSERT_FALSE(ccorr);
\r
366 cv::Mat image(size, CV_32FC1);
\r
369 cv::Mat templ(templ_size, templ_size, CV_32FC1);
\r
374 cv::filter2D(image, dst, image.depth(), templ);
\r
376 declare.time(10.0);
\r
380 cv::filter2D(image, dst, image.depth(), templ);
\r
384 INSTANTIATE_TEST_CASE_P(ImgProc, Convolve, testing::Combine(
\r
386 GPU_TYPICAL_MAT_SIZES,
\r
387 testing::Values(KSize(3), KSize(9), KSize(17), KSize(27), KSize(32), KSize(64)),
\r
388 testing::Values(Ccorr(false), Ccorr(true))));
\r
390 ////////////////////////////////////////////////////////////////////////////////
\r
391 // MatchTemplate_8U
\r
393 CV_ENUM(TemplateMethod, cv::TM_SQDIFF, cv::TM_SQDIFF_NORMED, cv::TM_CCORR, cv::TM_CCORR_NORMED, cv::TM_CCOEFF, cv::TM_CCOEFF_NORMED)
\r
394 #define ALL_TEMPLATE_METHODS testing::Values(TemplateMethod(cv::TM_SQDIFF), TemplateMethod(cv::TM_SQDIFF_NORMED), TemplateMethod(cv::TM_CCORR), TemplateMethod(cv::TM_CCORR_NORMED), TemplateMethod(cv::TM_CCOEFF), TemplateMethod(cv::TM_CCOEFF_NORMED))
\r
396 IMPLEMENT_PARAM_CLASS(TemplateSize, cv::Size)
\r
398 GPU_PERF_TEST(MatchTemplate_8U, cv::gpu::DeviceInfo, cv::Size, TemplateSize, Channels, TemplateMethod)
\r
400 cv::Size size = GET_PARAM(1);
\r
401 cv::Size templ_size = GET_PARAM(2);
\r
402 int cn = GET_PARAM(3);
\r
403 int method = GET_PARAM(4);
\r
405 cv::Mat image(size, CV_MAKE_TYPE(CV_8U, cn));
\r
406 fill(image, 0, 255);
\r
408 cv::Mat templ(templ_size, CV_MAKE_TYPE(CV_8U, cn));
\r
409 fill(templ, 0, 255);
\r
413 cv::matchTemplate(image, templ, dst, method);
\r
417 cv::matchTemplate(image, templ, dst, method);
\r
421 INSTANTIATE_TEST_CASE_P(ImgProc, MatchTemplate_8U, testing::Combine(
\r
423 GPU_TYPICAL_MAT_SIZES,
\r
424 testing::Values(TemplateSize(cv::Size(5, 5)), TemplateSize(cv::Size(16, 16)), TemplateSize(cv::Size(30, 30))),
\r
425 testing::Values(Channels(1), Channels(3), Channels(4)),
\r
426 ALL_TEMPLATE_METHODS));
\r
428 ////////////////////////////////////////////////////////////////////////////////
\r
429 // MatchTemplate_32F
\r
431 GPU_PERF_TEST(MatchTemplate_32F, cv::gpu::DeviceInfo, cv::Size, TemplateSize, Channels, TemplateMethod)
\r
433 cv::Size size = GET_PARAM(1);
\r
434 cv::Size templ_size = GET_PARAM(2);
\r
435 int cn = GET_PARAM(3);
\r
436 int method = GET_PARAM(4);
\r
438 cv::Mat image(size, CV_MAKE_TYPE(CV_32F, cn));
\r
439 fill(image, 0, 255);
\r
441 cv::Mat templ(templ_size, CV_MAKE_TYPE(CV_32F, cn));
\r
442 fill(templ, 0, 255);
\r
446 cv::matchTemplate(image, templ, dst, method);
\r
450 cv::matchTemplate(image, templ, dst, method);
\r
454 INSTANTIATE_TEST_CASE_P(ImgProc, MatchTemplate_32F, testing::Combine(
\r
456 GPU_TYPICAL_MAT_SIZES,
\r
457 testing::Values(TemplateSize(cv::Size(5, 5)), TemplateSize(cv::Size(16, 16)), TemplateSize(cv::Size(30, 30))),
\r
458 testing::Values(Channels(1), Channels(3), Channels(4)),
\r
459 testing::Values(TemplateMethod(cv::TM_SQDIFF), TemplateMethod(cv::TM_CCORR))));
\r
461 //////////////////////////////////////////////////////////////////////
\r
464 CV_FLAGS(DftFlags, 0, cv::DFT_INVERSE, cv::DFT_SCALE, cv::DFT_ROWS, cv::DFT_COMPLEX_OUTPUT, cv::DFT_REAL_OUTPUT)
\r
466 GPU_PERF_TEST(MulSpectrums, cv::gpu::DeviceInfo, cv::Size, DftFlags)
\r
468 cv::Size size = GET_PARAM(1);
\r
469 int flag = GET_PARAM(2);
\r
471 cv::Mat a(size, CV_32FC2);
\r
474 cv::Mat b(size, CV_32FC2);
\r
479 cv::mulSpectrums(a, b, dst, flag);
\r
483 cv::mulSpectrums(a, b, dst, flag);
\r
487 INSTANTIATE_TEST_CASE_P(ImgProc, MulSpectrums, testing::Combine(
\r
489 GPU_TYPICAL_MAT_SIZES,
\r
490 testing::Values(DftFlags(0), DftFlags(cv::DFT_ROWS))));
\r
492 //////////////////////////////////////////////////////////////////////
\r
495 GPU_PERF_TEST(Dft, cv::gpu::DeviceInfo, cv::Size, DftFlags)
\r
497 cv::Size size = GET_PARAM(1);
\r
498 int flag = GET_PARAM(2);
\r
500 cv::Mat src(size, CV_32FC2);
\r
505 cv::dft(src, dst, flag);
\r
507 declare.time(10.0);
\r
511 cv::dft(src, dst, flag);
\r
515 INSTANTIATE_TEST_CASE_P(ImgProc, Dft, testing::Combine(
\r
517 GPU_TYPICAL_MAT_SIZES,
\r
518 testing::Values(DftFlags(0), DftFlags(cv::DFT_ROWS), DftFlags(cv::DFT_INVERSE))));
\r
520 //////////////////////////////////////////////////////////////////////
\r
523 IMPLEMENT_PARAM_CLASS(BlockSize, int)
\r
524 IMPLEMENT_PARAM_CLASS(ApertureSize, int)
\r
526 GPU_PERF_TEST(CornerHarris, cv::gpu::DeviceInfo, MatType, BorderMode, BlockSize, ApertureSize)
\r
528 int type = GET_PARAM(1);
\r
529 int borderType = GET_PARAM(2);
\r
530 int blockSize = GET_PARAM(3);
\r
531 int apertureSize = GET_PARAM(4);
\r
533 cv::Mat img = readImage("gpu/stereobm/aloe-L.png", cv::IMREAD_GRAYSCALE);
\r
534 ASSERT_FALSE(img.empty());
\r
536 img.convertTo(img, type, type == CV_32F ? 1.0 / 255.0 : 1.0);
\r
542 cv::cornerHarris(img, dst, blockSize, apertureSize, k, borderType);
\r
546 cv::cornerHarris(img, dst, blockSize, apertureSize, k, borderType);
\r
550 INSTANTIATE_TEST_CASE_P(ImgProc, CornerHarris, testing::Combine(
\r
552 testing::Values(MatType(CV_8UC1), MatType(CV_32FC1)),
\r
553 testing::Values(BorderMode(cv::BORDER_REFLECT101), BorderMode(cv::BORDER_REPLICATE), BorderMode(cv::BORDER_REFLECT)),
\r
554 testing::Values(BlockSize(3), BlockSize(5), BlockSize(7)),
\r
555 testing::Values(ApertureSize(0), ApertureSize(3), ApertureSize(5), ApertureSize(7))));
\r
557 //////////////////////////////////////////////////////////////////////
\r
558 // CornerMinEigenVal
\r
560 GPU_PERF_TEST(CornerMinEigenVal, cv::gpu::DeviceInfo, MatType, BorderMode, BlockSize, ApertureSize)
\r
562 int type = GET_PARAM(1);
\r
563 int borderType = GET_PARAM(2);
\r
564 int blockSize = GET_PARAM(3);
\r
565 int apertureSize = GET_PARAM(4);
\r
567 cv::Mat img = readImage("gpu/stereobm/aloe-L.png", cv::IMREAD_GRAYSCALE);
\r
568 ASSERT_FALSE(img.empty());
\r
570 img.convertTo(img, type, type == CV_32F ? 1.0 / 255.0 : 1.0);
\r
574 cv::cornerMinEigenVal(img, dst, blockSize, apertureSize, borderType);
\r
578 cv::cornerMinEigenVal(img, dst, blockSize, apertureSize, borderType);
\r
582 INSTANTIATE_TEST_CASE_P(ImgProc, CornerMinEigenVal, testing::Combine(
\r
584 testing::Values(MatType(CV_8UC1), MatType(CV_32FC1)),
\r
585 testing::Values(BorderMode(cv::BORDER_REFLECT101), BorderMode(cv::BORDER_REPLICATE), BorderMode(cv::BORDER_REFLECT)),
\r
586 testing::Values(BlockSize(3), BlockSize(5), BlockSize(7)),
\r
587 testing::Values(ApertureSize(0), ApertureSize(3), ApertureSize(5), ApertureSize(7))));
\r
589 //////////////////////////////////////////////////////////////////////
\r
592 GPU_PERF_TEST(PyrDown, cv::gpu::DeviceInfo, cv::Size, MatType)
\r
594 cv::Size size = GET_PARAM(1);
\r
595 int type = GET_PARAM(2);
\r
597 cv::Mat src(size, type);
\r
602 cv::pyrDown(src, dst);
\r
606 cv::pyrDown(src, dst);
\r
610 INSTANTIATE_TEST_CASE_P(ImgProc, PyrDown, testing::Combine(
\r
612 GPU_TYPICAL_MAT_SIZES,
\r
613 testing::Values(MatType(CV_8UC1), MatType(CV_8UC3), MatType(CV_8UC4),
\r
614 MatType(CV_16UC1), MatType(CV_16UC3), MatType(CV_16UC4),
\r
615 MatType(CV_32FC1), MatType(CV_32FC3), MatType(CV_32FC4))));
\r
617 //////////////////////////////////////////////////////////////////////
\r
620 GPU_PERF_TEST(PyrUp, cv::gpu::DeviceInfo, cv::Size, MatType)
\r
622 cv::Size size = GET_PARAM(1);
\r
623 int type = GET_PARAM(2);
\r
625 cv::Mat src(size, type);
\r
630 cv::pyrUp(src, dst);
\r
634 cv::pyrUp(src, dst);
\r
638 INSTANTIATE_TEST_CASE_P(ImgProc, PyrUp, testing::Combine(
\r
640 GPU_TYPICAL_MAT_SIZES,
\r
641 testing::Values(MatType(CV_8UC1), MatType(CV_8UC3), MatType(CV_8UC4),
\r
642 MatType(CV_16UC1), MatType(CV_16UC3), MatType(CV_16UC4),
\r
643 MatType(CV_32FC1), MatType(CV_32FC3), MatType(CV_32FC4))));
\r
645 //////////////////////////////////////////////////////////////////////
\r
648 GPU_PERF_TEST(CvtColor, cv::gpu::DeviceInfo, cv::Size, MatDepth, CvtColorInfo)
\r
650 cv::Size size = GET_PARAM(1);
\r
651 int depth = GET_PARAM(2);
\r
652 CvtColorInfo info = GET_PARAM(3);
\r
654 cv::Mat src(size, CV_MAKETYPE(depth, info.scn));
\r
659 cv::cvtColor(src, dst, info.code, info.dcn);
\r
663 cv::cvtColor(src, dst, info.code, info.dcn);
\r
667 INSTANTIATE_TEST_CASE_P(ImgProc, CvtColor, testing::Combine(
\r
669 GPU_TYPICAL_MAT_SIZES,
\r
670 testing::Values(MatDepth(CV_8U), MatDepth(CV_16U), MatDepth(CV_32F)),
\r
671 testing::Values(CvtColorInfo(4, 4, cv::COLOR_RGBA2BGRA),
\r
672 CvtColorInfo(4, 1, cv::COLOR_BGRA2GRAY),
\r
673 CvtColorInfo(1, 4, cv::COLOR_GRAY2BGRA),
\r
674 CvtColorInfo(3, 3, cv::COLOR_BGR2XYZ),
\r
675 CvtColorInfo(3, 3, cv::COLOR_XYZ2BGR),
\r
676 CvtColorInfo(3, 3, cv::COLOR_BGR2YCrCb),
\r
677 CvtColorInfo(3, 3, cv::COLOR_YCrCb2BGR),
\r
678 CvtColorInfo(3, 3, cv::COLOR_BGR2YUV),
\r
679 CvtColorInfo(3, 3, cv::COLOR_YUV2BGR),
\r
680 CvtColorInfo(3, 3, cv::COLOR_BGR2HSV),
\r
681 CvtColorInfo(3, 3, cv::COLOR_HSV2BGR),
\r
682 CvtColorInfo(3, 3, cv::COLOR_BGR2HLS),
\r
683 CvtColorInfo(3, 3, cv::COLOR_HLS2BGR))));
\r