added tests for pyrDown and pyrUp (gpu)
This commit is contained in:
parent
3e1b0186fe
commit
5f4ba8055f
@ -2041,4 +2041,82 @@ INSTANTIATE_TEST_CASE_P(ImgProc, Blend, testing::Combine(
|
|||||||
testing::Values(CV_8U, CV_32F),
|
testing::Values(CV_8U, CV_32F),
|
||||||
testing::Range(1, 5)));
|
testing::Range(1, 5)));
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////
|
||||||
|
// pyrDown
|
||||||
|
|
||||||
|
struct PyrDown : testing::TestWithParam<cv::gpu::DeviceInfo>
|
||||||
|
{
|
||||||
|
cv::gpu::DeviceInfo devInfo;
|
||||||
|
|
||||||
|
virtual void SetUp()
|
||||||
|
{
|
||||||
|
devInfo = GetParam();
|
||||||
|
cv::gpu::setDevice(devInfo.deviceID());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
TEST_P(PyrDown, Accuracy)
|
||||||
|
{
|
||||||
|
PRINT_PARAM(devInfo);
|
||||||
|
|
||||||
|
cv::Mat src;
|
||||||
|
readImage("stereobm/aloe-L.png").convertTo(src, CV_16S);
|
||||||
|
|
||||||
|
cv::Mat dst_gold;
|
||||||
|
cv::pyrDown(src, dst_gold);
|
||||||
|
|
||||||
|
cv::gpu::GpuMat d_dst;
|
||||||
|
cv::gpu::pyrDown(cv::gpu::GpuMat(src), d_dst);
|
||||||
|
cv::Mat dst_mine = d_dst;
|
||||||
|
|
||||||
|
ASSERT_EQ(dst_gold.cols, dst_mine.cols);
|
||||||
|
ASSERT_EQ(dst_gold.rows, dst_mine.rows);
|
||||||
|
ASSERT_EQ(dst_gold.type(), dst_mine.type());
|
||||||
|
|
||||||
|
double err = cvtest::crossCorr(dst_gold, dst_mine) /
|
||||||
|
(cv::norm(dst_gold,cv::NORM_L2)*cv::norm(dst_mine,cv::NORM_L2));
|
||||||
|
ASSERT_NEAR(err, 1., 1e-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
INSTANTIATE_TEST_CASE_P(ImgProc, PyrDown, testing::ValuesIn(devices()));
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////
|
||||||
|
// pyrUp
|
||||||
|
|
||||||
|
struct PyrUp: testing::TestWithParam<cv::gpu::DeviceInfo>
|
||||||
|
{
|
||||||
|
cv::gpu::DeviceInfo devInfo;
|
||||||
|
|
||||||
|
virtual void SetUp()
|
||||||
|
{
|
||||||
|
devInfo = GetParam();
|
||||||
|
cv::gpu::setDevice(devInfo.deviceID());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
TEST_P(PyrUp, Accuracy)
|
||||||
|
{
|
||||||
|
PRINT_PARAM(devInfo);
|
||||||
|
|
||||||
|
cv::Mat src;
|
||||||
|
readImage("stereobm/aloe-L.png").convertTo(src, CV_16S);
|
||||||
|
|
||||||
|
cv::Mat dst_gold;
|
||||||
|
cv::pyrUp(src, dst_gold);
|
||||||
|
|
||||||
|
cv::gpu::GpuMat d_dst;
|
||||||
|
cv::gpu::pyrUp(cv::gpu::GpuMat(src), d_dst);
|
||||||
|
cv::Mat dst_mine = d_dst;
|
||||||
|
|
||||||
|
ASSERT_EQ(dst_gold.cols, dst_mine.cols);
|
||||||
|
ASSERT_EQ(dst_gold.rows, dst_mine.rows);
|
||||||
|
ASSERT_EQ(dst_gold.type(), dst_mine.type());
|
||||||
|
|
||||||
|
double err = cvtest::crossCorr(dst_gold, dst_mine) /
|
||||||
|
(cv::norm(dst_gold,cv::NORM_L2)*cv::norm(dst_mine,cv::NORM_L2));
|
||||||
|
ASSERT_NEAR(err, 1., 1e-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
INSTANTIATE_TEST_CASE_P(ImgProc, PyrUp, testing::ValuesIn(devices()));
|
||||||
|
|
||||||
#endif // HAVE_CUDA
|
#endif // HAVE_CUDA
|
||||||
|
Loading…
x
Reference in New Issue
Block a user