added support of 3-channels output to gpu::reprojectImageTo3D
minor refactoring of gpu tests
This commit is contained in:
@@ -299,6 +299,47 @@ TEST_P(SolvePnPRansac, Accuracy)
|
||||
ASSERT_LE(cv::norm(tvec - tvec_gold), 1e-3);
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(GPU_Calib3D, SolvePnPRansac, ALL_DEVICES);
|
||||
INSTANTIATE_TEST_CASE_P(GPU_Calib3D, SolvePnPRansac, ALL_DEVICES);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// reprojectImageTo3D
|
||||
|
||||
PARAM_TEST_CASE(ReprojectImageTo3D, cv::gpu::DeviceInfo, cv::Size, MatDepth, UseRoi)
|
||||
{
|
||||
cv::gpu::DeviceInfo devInfo;
|
||||
cv::Size size;
|
||||
int depth;
|
||||
bool useRoi;
|
||||
|
||||
virtual void SetUp()
|
||||
{
|
||||
devInfo = GET_PARAM(0);
|
||||
size = GET_PARAM(1);
|
||||
depth = GET_PARAM(2);
|
||||
useRoi = GET_PARAM(3);
|
||||
|
||||
cv::gpu::setDevice(devInfo.deviceID());
|
||||
}
|
||||
};
|
||||
|
||||
TEST_P(ReprojectImageTo3D, Accuracy)
|
||||
{
|
||||
cv::Mat disp = randomMat(size, depth, 5.0, 30.0);
|
||||
cv::Mat Q = randomMat(cv::Size(4, 4), CV_32FC1, 0.1, 1.0);
|
||||
|
||||
cv::gpu::GpuMat dst;
|
||||
cv::gpu::reprojectImageTo3D(loadMat(disp, useRoi), dst, Q, 3);
|
||||
|
||||
cv::Mat dst_gold;
|
||||
cv::reprojectImageTo3D(disp, dst_gold, Q, false);
|
||||
|
||||
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(GPU_Calib3D, ReprojectImageTo3D, testing::Combine(
|
||||
ALL_DEVICES,
|
||||
DIFFERENT_SIZES,
|
||||
testing::Values(MatDepth(CV_8U), MatDepth(CV_16S)),
|
||||
WHOLE_SUBMAT));
|
||||
|
||||
} // namespace
|
||||
|
@@ -41,6 +41,8 @@
|
||||
|
||||
#include "precomp.hpp"
|
||||
|
||||
namespace {
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// cvtColor
|
||||
|
||||
@@ -1652,3 +1654,5 @@ INSTANTIATE_TEST_CASE_P(GPU_ImgProc, SwapChannels, testing::Combine(
|
||||
ALL_DEVICES,
|
||||
DIFFERENT_SIZES,
|
||||
WHOLE_SUBMAT));
|
||||
|
||||
} // namespace
|
||||
|
@@ -41,15 +41,9 @@
|
||||
|
||||
#include "precomp.hpp"
|
||||
|
||||
struct KSize : cv::Size
|
||||
{
|
||||
KSize() {}
|
||||
KSize(int width, int height) : cv::Size(width, height) {}
|
||||
};
|
||||
void PrintTo(KSize ksize, std::ostream* os)
|
||||
{
|
||||
*os << "kernel size " << ksize.width << "x" << ksize.height;
|
||||
}
|
||||
namespace {
|
||||
|
||||
IMPLEMENT_PARAM_CLASS(KSize, cv::Size)
|
||||
|
||||
cv::Mat getInnerROI(cv::InputArray m_, cv::Size ksize)
|
||||
{
|
||||
@@ -107,7 +101,7 @@ INSTANTIATE_TEST_CASE_P(GPU_Filter, Blur, testing::Combine(
|
||||
ALL_DEVICES,
|
||||
DIFFERENT_SIZES,
|
||||
testing::Values(MatType(CV_8UC1), MatType(CV_8UC4)),
|
||||
testing::Values(KSize(3, 3), KSize(5, 5), KSize(7, 7)),
|
||||
testing::Values(KSize(cv::Size(3, 3)), KSize(cv::Size(5, 5)), KSize(cv::Size(7, 7))),
|
||||
testing::Values(Anchor(cv::Point(-1, -1)), Anchor(cv::Point(0, 0)), Anchor(cv::Point(2, 2))),
|
||||
WHOLE_SUBMAT));
|
||||
|
||||
@@ -163,7 +157,7 @@ INSTANTIATE_TEST_CASE_P(GPU_Filter, Sobel, testing::Combine(
|
||||
ALL_DEVICES,
|
||||
DIFFERENT_SIZES,
|
||||
testing::Values(MatType(CV_8UC1), MatType(CV_8UC4)),
|
||||
testing::Values(KSize(3, 3), KSize(5, 5), KSize(7, 7)),
|
||||
testing::Values(KSize(cv::Size(3, 3)), KSize(cv::Size(5, 5)), KSize(cv::Size(7, 7))),
|
||||
testing::Values(Deriv_X(0), Deriv_X(1), Deriv_X(2)),
|
||||
testing::Values(Deriv_Y(0), Deriv_Y(1), Deriv_Y(2)),
|
||||
testing::Values(BorderType(cv::BORDER_REFLECT101),
|
||||
@@ -286,21 +280,21 @@ INSTANTIATE_TEST_CASE_P(GPU_Filter, GaussianBlur, testing::Combine(
|
||||
ALL_DEVICES,
|
||||
DIFFERENT_SIZES,
|
||||
testing::Values(MatType(CV_8UC1), MatType(CV_8UC4)),
|
||||
testing::Values(KSize(3, 3),
|
||||
KSize(5, 5),
|
||||
KSize(7, 7),
|
||||
KSize(9, 9),
|
||||
KSize(11, 11),
|
||||
KSize(13, 13),
|
||||
KSize(15, 15),
|
||||
KSize(17, 17),
|
||||
KSize(19, 19),
|
||||
KSize(21, 21),
|
||||
KSize(23, 23),
|
||||
KSize(25, 25),
|
||||
KSize(27, 27),
|
||||
KSize(29, 29),
|
||||
KSize(31, 31)),
|
||||
testing::Values(KSize(cv::Size(3, 3)),
|
||||
KSize(cv::Size(5, 5)),
|
||||
KSize(cv::Size(7, 7)),
|
||||
KSize(cv::Size(9, 9)),
|
||||
KSize(cv::Size(11, 11)),
|
||||
KSize(cv::Size(13, 13)),
|
||||
KSize(cv::Size(15, 15)),
|
||||
KSize(cv::Size(17, 17)),
|
||||
KSize(cv::Size(19, 19)),
|
||||
KSize(cv::Size(21, 21)),
|
||||
KSize(cv::Size(23, 23)),
|
||||
KSize(cv::Size(25, 25)),
|
||||
KSize(cv::Size(27, 27)),
|
||||
KSize(cv::Size(29, 29)),
|
||||
KSize(cv::Size(31, 31))),
|
||||
testing::Values(BorderType(cv::BORDER_REFLECT101),
|
||||
BorderType(cv::BORDER_REPLICATE),
|
||||
BorderType(cv::BORDER_CONSTANT),
|
||||
@@ -350,7 +344,7 @@ INSTANTIATE_TEST_CASE_P(GPU_Filter, Laplacian, testing::Combine(
|
||||
ALL_DEVICES,
|
||||
DIFFERENT_SIZES,
|
||||
testing::Values(MatType(CV_8UC1), MatType(CV_8UC4), MatType(CV_32FC1)),
|
||||
testing::Values(KSize(1, 1), KSize(3, 3)),
|
||||
testing::Values(KSize(cv::Size(1, 1)), KSize(cv::Size(3, 3))),
|
||||
WHOLE_SUBMAT));
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -557,6 +551,8 @@ INSTANTIATE_TEST_CASE_P(GPU_Filter, Filter2D, testing::Combine(
|
||||
ALL_DEVICES,
|
||||
DIFFERENT_SIZES,
|
||||
testing::Values(MatType(CV_8UC1), MatType(CV_8UC4), MatType(CV_32FC1)),
|
||||
testing::Values(KSize(3, 3), KSize(5, 5), KSize(7, 7), KSize(11, 11), KSize(13, 13), KSize(15, 15)),
|
||||
testing::Values(KSize(cv::Size(3, 3)), KSize(cv::Size(5, 5)), KSize(cv::Size(7, 7)), KSize(cv::Size(11, 11)), KSize(cv::Size(13, 13)), KSize(cv::Size(15, 15))),
|
||||
testing::Values(Anchor(cv::Point(-1, -1)), Anchor(cv::Point(0, 0)), Anchor(cv::Point(2, 2))),
|
||||
WHOLE_SUBMAT));
|
||||
|
||||
} // namespace
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -265,7 +265,7 @@ void PrintTo(const Inverse& useRoi, std::ostream* os);
|
||||
}; \
|
||||
inline void PrintTo( name param, std::ostream* os) \
|
||||
{ \
|
||||
*os << #name << "(" << static_cast< type >(param) << ")"; \
|
||||
*os << #name << "(" << testing::PrintToString(static_cast< type >(param)) << ")"; \
|
||||
}
|
||||
|
||||
IMPLEMENT_PARAM_CLASS(Channels, int)
|
||||
|
Reference in New Issue
Block a user