diff --git a/samples/gpu/performance/tests.cpp b/samples/gpu/performance/tests.cpp index 6d7e93c2d..81d78a72a 100644 --- a/samples/gpu/performance/tests.cpp +++ b/samples/gpu/performance/tests.cpp @@ -289,10 +289,10 @@ TEST(BruteForceMatcher) BruteForceMatcher< L2<float> > matcher; Mat query; - gen(query, 3000, desc_len, CV_32F, 0, 10); + gen(query, 3000, desc_len, CV_32F, 0, 1); Mat train; - gen(train, 3000, desc_len, CV_32F, 0, 10); + gen(train, 3000, desc_len, CV_32F, 0, 1); // Init GPU matcher @@ -327,7 +327,7 @@ TEST(BruteForceMatcher) GPU_OFF; SUBTEST << "radiusMatch"; - float max_distance = 45.0f; + float max_distance = 3.8f; CPU_ON; matcher.radiusMatch(query, train, matches, max_distance); @@ -524,4 +524,133 @@ TEST(Sobel) gpu::Sobel(d_src, d_dst, d_dst.depth(), 1, 1); GPU_OFF; } +} + + +TEST(cvtColor) +{ + Mat src, dst; + gpu::GpuMat d_src, d_dst; + + gen(src, 4000, 4000, CV_8UC1, 0, 255); + d_src.upload(src); + + SUBTEST << "size 4000, CV_GRAY2BGRA"; + + dst.create(src.size(), CV_8UC4); + + CPU_ON; + cvtColor(src, dst, CV_GRAY2BGRA, 4); + CPU_OFF; + + d_dst.create(d_src.size(), CV_8UC4); + + GPU_ON; + gpu::cvtColor(d_src, d_dst, CV_GRAY2BGRA, 4); + GPU_OFF; + + cv::swap(src, dst); + d_src.swap(d_dst); + + SUBTEST << "size 4000, CV_BGR2YCrCb"; + + dst.create(src.size(), CV_8UC3); + + CPU_ON; + cvtColor(src, dst, CV_BGR2YCrCb); + CPU_OFF; + + d_dst.create(d_src.size(), CV_8UC4); + + GPU_ON; + gpu::cvtColor(d_src, d_dst, CV_BGR2YCrCb, 4); + GPU_OFF; + + cv::swap(src, dst); + d_src.swap(d_dst); + + SUBTEST << "size 4000, CV_YCrCb2BGR"; + + dst.create(src.size(), CV_8UC4); + + CPU_ON; + cvtColor(src, dst, CV_YCrCb2BGR, 4); + CPU_OFF; + + d_dst.create(d_src.size(), CV_8UC4); + + GPU_ON; + gpu::cvtColor(d_src, d_dst, CV_YCrCb2BGR, 4); + GPU_OFF; + + cv::swap(src, dst); + d_src.swap(d_dst); + + SUBTEST << "size 4000, CV_BGR2XYZ"; + + dst.create(src.size(), CV_8UC3); + + CPU_ON; + cvtColor(src, dst, CV_BGR2XYZ); + CPU_OFF; + + d_dst.create(d_src.size(), CV_8UC4); + + GPU_ON; + gpu::cvtColor(d_src, d_dst, CV_BGR2XYZ, 4); + GPU_OFF; + + cv::swap(src, dst); + d_src.swap(d_dst); + + SUBTEST << "size 4000, CV_XYZ2BGR"; + + dst.create(src.size(), CV_8UC4); + + CPU_ON; + cvtColor(src, dst, CV_XYZ2BGR, 4); + CPU_OFF; + + d_dst.create(d_src.size(), CV_8UC4); + + GPU_ON; + gpu::cvtColor(d_src, d_dst, CV_XYZ2BGR, 4); + GPU_OFF; + + cv::swap(src, dst); + d_src.swap(d_dst); + + SUBTEST << "size 4000, CV_BGR2HSV"; + + dst.create(src.size(), CV_8UC3); + + CPU_ON; + cvtColor(src, dst, CV_BGR2HSV); + CPU_OFF; + + d_dst.create(d_src.size(), CV_8UC4); + + GPU_ON; + gpu::cvtColor(d_src, d_dst, CV_BGR2HSV, 4); + GPU_OFF; + + cv::swap(src, dst); + d_src.swap(d_dst); + + SUBTEST << "size 4000, CV_HSV2BGR"; + + dst.create(src.size(), CV_8UC4); + + CPU_ON; + cvtColor(src, dst, CV_HSV2BGR, 4); + CPU_OFF; + + d_dst.create(d_src.size(), CV_8UC4); + + GPU_ON; + gpu::cvtColor(d_src, d_dst, CV_HSV2BGR, 4); + GPU_OFF; + + cv::swap(src, dst); + d_src.swap(d_dst); } \ No newline at end of file