testing::Values(CV_8U, CV_32F),\r
testing::Range(1, 5)));\r
\r
+////////////////////////////////////////////////////////\r
+// pyrDown\r
+\r
+struct PyrDown : testing::TestWithParam<cv::gpu::DeviceInfo>\r
+{\r
+ cv::gpu::DeviceInfo devInfo;\r
+\r
+ virtual void SetUp()\r
+ {\r
+ devInfo = GetParam();\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+ }\r
+};\r
+\r
+TEST_P(PyrDown, Accuracy)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+\r
+ cv::Mat src;\r
+ readImage("stereobm/aloe-L.png").convertTo(src, CV_16S);\r
+\r
+ cv::Mat dst_gold;\r
+ cv::pyrDown(src, dst_gold);\r
+\r
+ cv::gpu::GpuMat d_dst;\r
+ cv::gpu::pyrDown(cv::gpu::GpuMat(src), d_dst);\r
+ cv::Mat dst_mine = d_dst;\r
+\r
+ ASSERT_EQ(dst_gold.cols, dst_mine.cols);\r
+ ASSERT_EQ(dst_gold.rows, dst_mine.rows);\r
+ ASSERT_EQ(dst_gold.type(), dst_mine.type());\r
+\r
+ double err = cvtest::crossCorr(dst_gold, dst_mine) /\r
+ (cv::norm(dst_gold,cv::NORM_L2)*cv::norm(dst_mine,cv::NORM_L2));\r
+ ASSERT_NEAR(err, 1., 1e-2);\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(ImgProc, PyrDown, testing::ValuesIn(devices()));\r
+\r
+////////////////////////////////////////////////////////\r
+// pyrUp\r
+\r
+struct PyrUp: testing::TestWithParam<cv::gpu::DeviceInfo>\r
+{\r
+ cv::gpu::DeviceInfo devInfo;\r
+\r
+ virtual void SetUp()\r
+ {\r
+ devInfo = GetParam();\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+ }\r
+};\r
+\r
+TEST_P(PyrUp, Accuracy)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+\r
+ cv::Mat src;\r
+ readImage("stereobm/aloe-L.png").convertTo(src, CV_16S);\r
+\r
+ cv::Mat dst_gold;\r
+ cv::pyrUp(src, dst_gold);\r
+\r
+ cv::gpu::GpuMat d_dst;\r
+ cv::gpu::pyrUp(cv::gpu::GpuMat(src), d_dst);\r
+ cv::Mat dst_mine = d_dst;\r
+\r
+ ASSERT_EQ(dst_gold.cols, dst_mine.cols);\r
+ ASSERT_EQ(dst_gold.rows, dst_mine.rows);\r
+ ASSERT_EQ(dst_gold.type(), dst_mine.type());\r
+\r
+ double err = cvtest::crossCorr(dst_gold, dst_mine) /\r
+ (cv::norm(dst_gold,cv::NORM_L2)*cv::norm(dst_mine,cv::NORM_L2));\r
+ ASSERT_NEAR(err, 1., 1e-2);\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(ImgProc, PyrUp, testing::ValuesIn(devices()));\r
+\r
#endif // HAVE_CUDA\r