1 #include "perf_precomp.hpp"
\r
3 PERF_TEST_P(DevInfo_Size_MatType_Interpolation_BorderMode, remap, testing::Combine(testing::ValuesIn(devices()),
\r
4 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
5 testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_32FC1),
\r
6 testing::Values((int)INTER_NEAREST, (int)INTER_LINEAR, (int)INTER_CUBIC),
\r
7 testing::Values((int)BORDER_REFLECT101, (int)BORDER_REPLICATE, (int)BORDER_CONSTANT)))
\r
9 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
10 Size size = std::tr1::get<1>(GetParam());
\r
11 int type = std::tr1::get<2>(GetParam());
\r
12 int interpolation = std::tr1::get<3>(GetParam());
\r
13 int borderMode = std::tr1::get<4>(GetParam());
\r
15 setDevice(devInfo.deviceID());
\r
17 Mat src_host(size, type);
\r
19 declare.in(src_host, WARMUP_RNG);
\r
21 GpuMat src(src_host);
\r
22 GpuMat dst(size, type);
\r
24 Mat xmap_host(size, CV_32FC1);
\r
25 Mat ymap_host(size, CV_32FC1);
\r
26 randu(xmap_host, -300, size.width + 300);
\r
27 randu(ymap_host, -300, size.height + 300);
\r
29 GpuMat xmap(xmap_host);
\r
30 GpuMat ymap(ymap_host);
\r
36 remap(src, dst, xmap, ymap, interpolation, borderMode);
\r
41 SANITY_CHECK(dst_host);
\r
44 PERF_TEST_P(DevInfo, meanShiftFiltering, testing::ValuesIn(devices()))
\r
46 DeviceInfo devInfo = GetParam();
\r
48 setDevice(devInfo.deviceID());
\r
50 Mat img = readImage("gpu/meanshift/cones.png");
\r
51 ASSERT_FALSE(img.empty());
\r
54 cvtColor(img, rgba, CV_BGR2BGRA);
\r
57 GpuMat dst(src.size(), CV_8UC4);
\r
63 meanShiftFiltering(src, dst, 50, 50);
\r
68 SANITY_CHECK(dst_host);
\r
71 PERF_TEST_P(DevInfo, meanShiftProc, testing::ValuesIn(devices()))
\r
73 DeviceInfo devInfo = GetParam();
\r
75 setDevice(devInfo.deviceID());
\r
77 Mat img = readImage("gpu/meanshift/cones.png");
\r
78 ASSERT_FALSE(img.empty());
\r
81 cvtColor(img, rgba, CV_BGR2BGRA);
\r
84 GpuMat dstr(src.size(), CV_8UC4);
\r
85 GpuMat dstsp(src.size(), CV_16SC2);
\r
91 meanShiftProc(src, dstr, dstsp, 50, 50);
\r
94 Mat dstr_host(dstr);
\r
95 Mat dstsp_host(dstsp);
\r
97 SANITY_CHECK(dstr_host);
\r
98 SANITY_CHECK(dstsp_host);
\r
101 PERF_TEST_P(DevInfo, meanShiftSegmentation, testing::ValuesIn(devices()))
\r
103 DeviceInfo devInfo = GetParam();
\r
105 setDevice(devInfo.deviceID());
\r
107 Mat img = readImage("gpu/meanshift/cones.png");
\r
108 ASSERT_FALSE(img.empty());
\r
111 cvtColor(img, rgba, CV_BGR2BGRA);
\r
114 Mat dst(src.size(), CV_8UC4);
\r
120 meanShiftSegmentation(src, dst, 10, 10, 20);
\r
126 PERF_TEST_P(DevInfo_Size_MatType, drawColorDisp, testing::Combine(testing::ValuesIn(devices()),
\r
127 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
128 testing::Values(CV_8UC1, CV_16SC1)))
\r
130 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
131 Size size = std::tr1::get<1>(GetParam());
\r
132 int type = std::tr1::get<2>(GetParam());
\r
134 setDevice(devInfo.deviceID());
\r
136 Mat src_host(size, CV_8UC1);
\r
137 declare.in(src_host, WARMUP_RNG);
\r
138 src_host.convertTo(src_host, type);
\r
140 GpuMat src(src_host);
\r
141 GpuMat dst(size, CV_8UC4);
\r
145 drawColorDisp(src, dst, 255);
\r
150 SANITY_CHECK(dst_host);
\r
153 PERF_TEST_P(DevInfo_Size_MatType, reprojectImageTo3D, testing::Combine(testing::ValuesIn(devices()),
\r
154 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
155 testing::Values(CV_8UC1, CV_16SC1)))
\r
157 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
158 Size size = std::tr1::get<1>(GetParam());
\r
159 int type = std::tr1::get<2>(GetParam());
\r
161 setDevice(devInfo.deviceID());
\r
163 Mat src_host(size, type);
\r
165 declare.in(src_host, WARMUP_RNG);
\r
167 GpuMat src(src_host);
\r
168 GpuMat dst(size, CV_32FC4);
\r
172 reprojectImageTo3D(src, dst, Mat::ones(4, 4, CV_32FC1));
\r
177 SANITY_CHECK(dst_host);
\r
180 PERF_TEST_P(DevInfo_Size_MatType_CvtColorInfo, cvtColor, testing::Combine(testing::ValuesIn(devices()),
\r
181 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
182 testing::Values(CV_8UC1, CV_16UC1, CV_32FC1),
\r
183 testing::Values(CvtColorInfo(4, 4, CV_RGBA2BGRA), CvtColorInfo(4, 1, CV_BGRA2GRAY), CvtColorInfo(1, 4, CV_GRAY2BGRA),
\r
184 CvtColorInfo(4, 4, CV_BGR2XYZ), CvtColorInfo(4, 4, CV_BGR2YCrCb), CvtColorInfo(4, 4, CV_YCrCb2BGR),
\r
185 CvtColorInfo(4, 4, CV_BGR2HSV), CvtColorInfo(4, 4, CV_HSV2BGR))))
\r
187 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
188 Size size = std::tr1::get<1>(GetParam());
\r
189 int type = std::tr1::get<2>(GetParam());
\r
190 CvtColorInfo info = std::tr1::get<3>(GetParam());
\r
192 setDevice(devInfo.deviceID());
\r
194 Mat src_host(size, CV_MAKETYPE(type, info.scn));
\r
196 declare.in(src_host, WARMUP_RNG);
\r
198 GpuMat src(src_host);
\r
199 GpuMat dst(size, CV_MAKETYPE(type, info.dcn));
\r
203 cvtColor(src, dst, info.code, info.dcn);
\r
208 SANITY_CHECK(dst_host);
\r
211 PERF_TEST_P(DevInfo_Size_MatType, threshold, testing::Combine(testing::ValuesIn(devices()),
\r
212 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
213 testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)))
\r
215 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
216 Size size = std::tr1::get<1>(GetParam());
\r
217 int type = std::tr1::get<2>(GetParam());
\r
219 setDevice(devInfo.deviceID());
\r
221 Mat src_host(size, type);
\r
223 declare.in(src_host, WARMUP_RNG);
\r
225 GpuMat src(src_host);
\r
226 GpuMat dst(size, type);
\r
230 threshold(src, dst, 100.0, 255.0, THRESH_BINARY);
\r
235 SANITY_CHECK(dst_host);
\r
238 PERF_TEST_P(DevInfo_Size_MatType_Interpolation_SizeCoeff, resize, testing::Combine(testing::ValuesIn(devices()),
\r
239 testing::Values(szSXGA, sz1080p),
\r
240 testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_32FC1),
\r
241 testing::Values((int)INTER_NEAREST, (int)INTER_LINEAR, (int)INTER_CUBIC),
\r
242 testing::Values(0.5, 2.0)))
\r
244 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
245 Size size = std::tr1::get<1>(GetParam());
\r
246 int type = std::tr1::get<2>(GetParam());
\r
247 int interpolation = std::tr1::get<3>(GetParam());
\r
248 double f = std::tr1::get<4>(GetParam());
\r
250 setDevice(devInfo.deviceID());
\r
252 Mat src_host(size, type);
\r
254 declare.in(src_host, WARMUP_RNG);
\r
256 GpuMat src(src_host);
\r
263 resize(src, dst, Size(), f, f, interpolation);
\r
268 SANITY_CHECK(dst_host);
\r
271 PERF_TEST_P(DevInfo_Size_MatType_Interpolation, warpAffine, testing::Combine(testing::ValuesIn(devices()),
\r
272 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
273 testing::Values(CV_8UC1, CV_8UC4, CV_32FC1),
\r
274 testing::Values((int)INTER_NEAREST, (int)INTER_LINEAR, (int)INTER_CUBIC)))
\r
276 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
277 Size size = std::tr1::get<1>(GetParam());
\r
278 int type = std::tr1::get<2>(GetParam());
\r
279 int interpolation = std::tr1::get<3>(GetParam());
\r
281 setDevice(devInfo.deviceID());
\r
283 Mat src_host(size, type);
\r
285 declare.in(src_host, WARMUP_RNG);
\r
287 GpuMat src(src_host);
\r
288 GpuMat dst(size, type);
\r
290 static double reflect[2][3] = { {-1, 0, 0},
\r
292 reflect[0][2] = size.width;
\r
293 reflect[1][2] = size.height;
\r
294 Mat M(2, 3, CV_64F, (void*)reflect);
\r
298 warpAffine(src, dst, M, size, interpolation);
\r
303 SANITY_CHECK(dst_host);
\r
306 PERF_TEST_P(DevInfo_Size_MatType_Interpolation, warpPerspective, testing::Combine(testing::ValuesIn(devices()),
\r
307 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
308 testing::Values(CV_8UC1, CV_8UC4, CV_32FC1),
\r
309 testing::Values((int)INTER_NEAREST, (int)INTER_LINEAR, (int)INTER_CUBIC)))
\r
311 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
312 Size size = std::tr1::get<1>(GetParam());
\r
313 int type = std::tr1::get<2>(GetParam());
\r
314 int interpolation = std::tr1::get<3>(GetParam());
\r
316 setDevice(devInfo.deviceID());
\r
318 Mat src_host(size, type);
\r
320 declare.in(src_host, WARMUP_RNG);
\r
322 GpuMat src(src_host);
\r
323 GpuMat dst(size, type);
\r
325 static double reflect[3][3] = { {-1, 0, 0},
\r
328 reflect[0][2] = size.width;
\r
329 reflect[1][2] = size.height;
\r
330 Mat M(3, 3, CV_64F, (void*)reflect);
\r
334 warpPerspective(src, dst, M, size, interpolation);
\r
339 SANITY_CHECK(dst_host);
\r
342 PERF_TEST_P(DevInfo_Size, buildWarpPlaneMaps, testing::Combine(testing::ValuesIn(devices()),
\r
343 testing::Values(GPU_TYPICAL_MAT_SIZES)))
\r
345 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
346 Size size = std::tr1::get<1>(GetParam());
\r
348 setDevice(devInfo.deviceID());
\r
350 GpuMat map_x(size, CV_32FC1);
\r
351 GpuMat map_y(size, CV_32FC1);
\r
355 buildWarpPlaneMaps(size, Rect(0, 0, size.width, size.height), Mat::eye(3, 3, CV_32FC1),
\r
356 Mat::ones(3, 3, CV_32FC1), Mat::zeros(1, 3, CV_32F), 1.0, map_x, map_y);
\r
359 Mat map_x_host(map_x);
\r
360 Mat map_y_host(map_y);
\r
362 SANITY_CHECK(map_x_host);
\r
363 SANITY_CHECK(map_y_host);
\r
366 PERF_TEST_P(DevInfo_Size, buildWarpCylindricalMaps, testing::Combine(testing::ValuesIn(devices()),
\r
367 testing::Values(GPU_TYPICAL_MAT_SIZES)))
\r
369 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
370 Size size = std::tr1::get<1>(GetParam());
\r
372 setDevice(devInfo.deviceID());
\r
374 GpuMat map_x(size, CV_32FC1);
\r
375 GpuMat map_y(size, CV_32FC1);
\r
379 buildWarpCylindricalMaps(size, Rect(0, 0, size.width, size.height), Mat::eye(3, 3, CV_32FC1),
\r
380 Mat::ones(3, 3, CV_32FC1), 1.0, map_x, map_y);
\r
383 Mat map_x_host(map_x);
\r
384 Mat map_y_host(map_y);
\r
386 SANITY_CHECK(map_x_host);
\r
387 SANITY_CHECK(map_y_host);
\r
390 PERF_TEST_P(DevInfo_Size, buildWarpSphericalMaps, testing::Combine(testing::ValuesIn(devices()),
\r
391 testing::Values(GPU_TYPICAL_MAT_SIZES)))
\r
393 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
394 Size size = std::tr1::get<1>(GetParam());
\r
396 setDevice(devInfo.deviceID());
\r
398 GpuMat map_x(size, CV_32FC1);
\r
399 GpuMat map_y(size, CV_32FC1);
\r
403 buildWarpSphericalMaps(size, Rect(0, 0, size.width, size.height), Mat::eye(3, 3, CV_32FC1),
\r
404 Mat::ones(3, 3, CV_32FC1), 1.0, map_x, map_y);
\r
407 Mat map_x_host(map_x);
\r
408 Mat map_y_host(map_y);
\r
410 SANITY_CHECK(map_x_host);
\r
411 SANITY_CHECK(map_y_host);
\r
414 PERF_TEST_P(DevInfo_Size_MatType_Interpolation, rotate, testing::Combine(testing::ValuesIn(devices()),
\r
415 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
416 testing::Values(CV_8UC1, CV_8UC4),
\r
417 testing::Values((int)INTER_NEAREST, (int)INTER_LINEAR, (int)INTER_CUBIC)))
\r
419 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
420 Size size = std::tr1::get<1>(GetParam());
\r
421 int type = std::tr1::get<2>(GetParam());
\r
422 int interpolation = std::tr1::get<3>(GetParam());
\r
424 setDevice(devInfo.deviceID());
\r
426 Mat src_host(size, type);
\r
428 declare.in(src_host, WARMUP_RNG);
\r
430 GpuMat src(src_host);
\r
431 GpuMat dst(size, type);
\r
435 rotate(src, dst, size, 30.0, 0, 0, interpolation);
\r
440 SANITY_CHECK(dst_host);
\r
443 PERF_TEST_P(DevInfo_Size_MatType_BorderMode, copyMakeBorder, testing::Combine(testing::ValuesIn(devices()),
\r
444 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
445 testing::Values(CV_8UC1, CV_8UC4, CV_32FC1),
\r
446 testing::Values((int)BORDER_REPLICATE, (int)BORDER_CONSTANT)))
\r
448 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
449 Size size = std::tr1::get<1>(GetParam());
\r
450 int type = std::tr1::get<2>(GetParam());
\r
451 int borderType = std::tr1::get<3>(GetParam());
\r
453 setDevice(devInfo.deviceID());
\r
455 Mat src_host(size, type);
\r
457 declare.in(src_host, WARMUP_RNG);
\r
459 GpuMat src(src_host);
\r
464 copyMakeBorder(src, dst, 5, 5, 5, 5, borderType);
\r
469 SANITY_CHECK(dst_host);
\r
472 PERF_TEST_P(DevInfo_Size, integralBuffered, testing::Combine(testing::ValuesIn(devices()),
\r
473 testing::Values(GPU_TYPICAL_MAT_SIZES)))
\r
475 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
476 Size size = std::tr1::get<1>(GetParam());
\r
478 setDevice(devInfo.deviceID());
\r
480 Mat src_host(size, CV_8UC1);
\r
482 declare.in(src_host, WARMUP_RNG);
\r
484 GpuMat src(src_host);
\r
490 integralBuffered(src, dst, buf);
\r
495 SANITY_CHECK(dst_host);
\r
498 PERF_TEST_P(DevInfo_Size, integral, testing::Combine(testing::ValuesIn(devices()),
\r
499 testing::Values(GPU_TYPICAL_MAT_SIZES)))
\r
501 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
502 Size size = std::tr1::get<1>(GetParam());
\r
504 setDevice(devInfo.deviceID());
\r
506 Mat src_host(size, CV_8UC1);
\r
508 declare.in(src_host, WARMUP_RNG);
\r
510 GpuMat src(src_host);
\r
515 integral(src, sum, sqsum);
\r
519 Mat sqsum_host(sqsum);
\r
521 SANITY_CHECK(sum_host);
\r
522 SANITY_CHECK(sqsum_host);
\r
525 PERF_TEST_P(DevInfo_Size, sqrIntegral, testing::Combine(testing::ValuesIn(devices()),
\r
526 testing::Values(GPU_TYPICAL_MAT_SIZES)))
\r
528 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
529 Size size = std::tr1::get<1>(GetParam());
\r
531 setDevice(devInfo.deviceID());
\r
533 Mat src_host(size, CV_8UC1);
\r
535 declare.in(src_host, WARMUP_RNG);
\r
537 GpuMat src(src_host);
\r
542 sqrIntegral(src, dst);
\r
547 SANITY_CHECK(dst_host);
\r
550 PERF_TEST_P(DevInfo_Size, columnSum, testing::Combine(testing::ValuesIn(devices()),
\r
551 testing::Values(GPU_TYPICAL_MAT_SIZES)))
\r
553 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
554 Size size = std::tr1::get<1>(GetParam());
\r
556 setDevice(devInfo.deviceID());
\r
558 Mat src_host(size, CV_32FC1);
\r
560 declare.in(src_host, WARMUP_RNG);
\r
562 GpuMat src(src_host);
\r
567 columnSum(src, dst);
\r
572 SANITY_CHECK(dst_host);
\r
575 PERF_TEST_P(DevInfo_MatType, cornerHarris, testing::Combine(testing::ValuesIn(devices()),
\r
576 testing::Values(CV_8UC1, CV_32FC1)))
\r
578 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
579 int type = std::tr1::get<1>(GetParam());
\r
581 setDevice(devInfo.deviceID());
\r
583 Mat img = readImage("gpu/stereobm/aloe-L.png", CV_LOAD_IMAGE_GRAYSCALE);
\r
584 ASSERT_FALSE(img.empty());
\r
586 img.convertTo(img, type, type == CV_32F ? 1.0 / 255.0 : 1.0);
\r
599 cornerHarris(src, dst, Dx, Dy, blockSize, ksize, k);
\r
606 SANITY_CHECK(dst_host);
\r
607 SANITY_CHECK(Dx_host);
\r
608 SANITY_CHECK(Dy_host);
\r
611 PERF_TEST_P(DevInfo_MatType, cornerMinEigenVal, testing::Combine(testing::ValuesIn(devices()),
\r
612 testing::Values(CV_8UC1, CV_32FC1)))
\r
614 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
615 int type = std::tr1::get<1>(GetParam());
\r
617 setDevice(devInfo.deviceID());
\r
619 Mat img = readImage("gpu/stereobm/aloe-L.png", CV_LOAD_IMAGE_GRAYSCALE);
\r
620 ASSERT_FALSE(img.empty());
\r
622 img.convertTo(img, type, type == CV_32F ? 1.0 / 255.0 : 1.0);
\r
634 cornerMinEigenVal(src, dst, Dx, Dy, blockSize, ksize);
\r
641 SANITY_CHECK(dst_host);
\r
642 SANITY_CHECK(Dx_host);
\r
643 SANITY_CHECK(Dy_host);
\r
646 PERF_TEST_P(DevInfo_Size_MatType, mulSpectrums, testing::Combine(testing::ValuesIn(devices()),
\r
647 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
648 testing::Values(CV_8UC1, CV_32FC1)))
\r
650 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
651 Size size = std::tr1::get<1>(GetParam());
\r
652 int type = std::tr1::get<2>(GetParam());
\r
654 setDevice(devInfo.deviceID());
\r
656 Mat a_host(size, CV_32FC2);
\r
657 Mat b_host(size, CV_32FC2);
\r
659 declare.in(a_host, b_host, WARMUP_RNG);
\r
667 mulSpectrums(a, b, dst, 0);
\r
672 SANITY_CHECK(dst_host);
\r
675 PERF_TEST_P(DevInfo_Size, dft, testing::Combine(testing::ValuesIn(devices()),
\r
676 testing::Values(GPU_TYPICAL_MAT_SIZES)))
\r
678 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
679 Size size = std::tr1::get<1>(GetParam());
\r
681 setDevice(devInfo.deviceID());
\r
683 Mat src_host(size, CV_32FC2);
\r
685 declare.in(src_host, WARMUP_RNG);
\r
687 GpuMat src(src_host);
\r
694 dft(src, dst, size);
\r
699 SANITY_CHECK(dst_host);
\r
702 PERF_TEST_P(DevInfo_Int_Int, convolve, testing::Combine(testing::ValuesIn(devices()),
\r
703 testing::Values(512, 1024, 1536, 2048, 2560, 3072, 3584),
\r
704 testing::Values(3, 9, 27, 32, 64)))
\r
706 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
707 int image_size = std::tr1::get<1>(GetParam());
\r
708 int templ_size = std::tr1::get<2>(GetParam());
\r
710 setDevice(devInfo.deviceID());
\r
712 GpuMat image = createContinuous(image_size, image_size, CV_32FC1);
\r
713 GpuMat templ = createContinuous(templ_size, templ_size, CV_32FC1);
\r
715 image.setTo(Scalar(1.0));
\r
716 templ.setTo(Scalar(1.0));
\r
725 convolve(image, templ, dst, false, buf);
\r
730 SANITY_CHECK(dst_host);
\r
733 PERF_TEST_P(DevInfo_Size_MatType, pyrDown, testing::Combine(testing::ValuesIn(devices()),
\r
734 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
735 testing::Values(CV_8UC1, CV_8UC4, CV_16SC3, CV_32FC1)))
\r
737 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
738 Size size = std::tr1::get<1>(GetParam());
\r
739 int type = std::tr1::get<2>(GetParam());
\r
741 setDevice(devInfo.deviceID());
\r
743 Mat src_host(size, type);
\r
745 declare.in(src_host, WARMUP_RNG);
\r
747 GpuMat src(src_host);
\r
757 SANITY_CHECK(dst_host);
\r
760 PERF_TEST_P(DevInfo_Size_MatType, pyrUp, testing::Combine(testing::ValuesIn(devices()),
\r
761 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
762 testing::Values(CV_8UC1, CV_8UC4, CV_16SC3, CV_32FC1)))
\r
764 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
765 Size size = std::tr1::get<1>(GetParam());
\r
766 int type = std::tr1::get<2>(GetParam());
\r
768 setDevice(devInfo.deviceID());
\r
770 Mat src_host(size, type);
\r
772 declare.in(src_host, WARMUP_RNG);
\r
774 GpuMat src(src_host);
\r
784 SANITY_CHECK(dst_host);
\r
787 PERF_TEST_P(DevInfo_Size_MatType, blendLinear, testing::Combine(testing::ValuesIn(devices()),
\r
788 testing::Values(GPU_TYPICAL_MAT_SIZES),
\r
789 testing::Values(CV_8UC1, CV_32FC1)))
\r
791 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
792 Size size = std::tr1::get<1>(GetParam());
\r
793 int type = std::tr1::get<2>(GetParam());
\r
795 setDevice(devInfo.deviceID());
\r
797 Mat img1_host(size, type);
\r
798 Mat img2_host(size, type);
\r
800 declare.in(img1_host, img2_host, WARMUP_RNG);
\r
802 GpuMat img1(img1_host);
\r
803 GpuMat img2(img2_host);
\r
804 GpuMat weights1(size, CV_32FC1, Scalar::all(0.5));
\r
805 GpuMat weights2(size, CV_32FC1, Scalar::all(0.5));
\r
810 blendLinear(img1, img2, weights1, weights2, dst);
\r
815 SANITY_CHECK(dst_host);
\r
818 PERF_TEST_P(DevInfo, Canny, testing::ValuesIn(devices()))
\r
820 DeviceInfo devInfo = GetParam();
\r
822 setDevice(devInfo.deviceID());
\r
824 Mat image_host = readImage("gpu/perf/aloe.jpg", CV_LOAD_IMAGE_GRAYSCALE);
\r
825 ASSERT_FALSE(image_host.empty());
\r
827 GpuMat image(image_host);
\r
833 Canny(image, buf, dst, 50.0, 100.0);
\r
838 SANITY_CHECK(dst_host);
\r
841 PERF_TEST_P(DevInfo_Size, calcHist, testing::Combine(testing::ValuesIn(devices()),
\r
842 testing::Values(GPU_TYPICAL_MAT_SIZES)))
\r
844 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
845 Size size = std::tr1::get<1>(GetParam());
\r
847 setDevice(devInfo.deviceID());
\r
849 Mat src_host(size, CV_8UC1);
\r
851 declare.in(src_host, WARMUP_RNG);
\r
853 GpuMat src(src_host);
\r
859 calcHist(src, hist, buf);
\r
862 Mat hist_host(hist);
\r
864 SANITY_CHECK(hist_host);
\r
867 PERF_TEST_P(DevInfo_Size, equalizeHist, testing::Combine(testing::ValuesIn(devices()),
\r
868 testing::Values(GPU_TYPICAL_MAT_SIZES)))
\r
870 DeviceInfo devInfo = std::tr1::get<0>(GetParam());
\r
871 Size size = std::tr1::get<1>(GetParam());
\r
873 setDevice(devInfo.deviceID());
\r
875 Mat src_host(size, CV_8UC1);
\r
877 declare.in(src_host, WARMUP_RNG);
\r
879 GpuMat src(src_host);
\r
886 equalizeHist(src, dst, hist, buf);
\r
891 SANITY_CHECK(dst_host);
\r