Commit 75ac4362 authored by Vladislav Vinogradov's avatar Vladislav Vinogradov

removed ASSERT_NO_THROW

parent 23af203e
...@@ -88,13 +88,11 @@ TEST_P(Add, Array) ...@@ -88,13 +88,11 @@ TEST_P(Add, Array)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::add(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuRes); cv::gpu::add(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuRes);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -106,13 +104,11 @@ TEST_P(Add, Scalar) ...@@ -106,13 +104,11 @@ TEST_P(Add, Scalar)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::add(loadMat(mat1, useRoi), val, gpuRes); cv::gpu::add(loadMat(mat1, useRoi), val, gpuRes);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -134,13 +130,11 @@ TEST_P(Subtract, Array) ...@@ -134,13 +130,11 @@ TEST_P(Subtract, Array)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::subtract(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuRes); cv::gpu::subtract(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuRes);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -152,13 +146,11 @@ TEST_P(Subtract, Scalar) ...@@ -152,13 +146,11 @@ TEST_P(Subtract, Scalar)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::subtract(loadMat(mat1, useRoi), val, gpuRes); cv::gpu::subtract(loadMat(mat1, useRoi), val, gpuRes);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -180,13 +172,11 @@ TEST_P(Multiply, Array) ...@@ -180,13 +172,11 @@ TEST_P(Multiply, Array)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::multiply(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuRes); cv::gpu::multiply(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuRes);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -198,13 +188,11 @@ TEST_P(Multiply, Scalar) ...@@ -198,13 +188,11 @@ TEST_P(Multiply, Scalar)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::multiply(loadMat(mat1, useRoi), val, gpuRes); cv::gpu::multiply(loadMat(mat1, useRoi), val, gpuRes);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -226,13 +214,11 @@ TEST_P(Divide, Array) ...@@ -226,13 +214,11 @@ TEST_P(Divide, Array)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::divide(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuRes); cv::gpu::divide(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuRes);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1.0); EXPECT_MAT_NEAR(dst_gold, dst, 1.0);
} }
...@@ -244,13 +230,11 @@ TEST_P(Divide, Scalar) ...@@ -244,13 +230,11 @@ TEST_P(Divide, Scalar)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::divide(loadMat(mat1, useRoi), val, gpuRes); cv::gpu::divide(loadMat(mat1, useRoi), val, gpuRes);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -272,13 +256,11 @@ TEST_P(Transpose, Accuracy) ...@@ -272,13 +256,11 @@ TEST_P(Transpose, Accuracy)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::transpose(loadMat(mat1, useRoi), gpuRes); cv::gpu::transpose(loadMat(mat1, useRoi), gpuRes);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -300,13 +282,11 @@ TEST_P(Absdiff, Array) ...@@ -300,13 +282,11 @@ TEST_P(Absdiff, Array)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::absdiff(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuRes); cv::gpu::absdiff(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuRes);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -318,13 +298,11 @@ TEST_P(Absdiff, Scalar) ...@@ -318,13 +298,11 @@ TEST_P(Absdiff, Scalar)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::absdiff(loadMat(mat1, useRoi), val, gpuRes); cv::gpu::absdiff(loadMat(mat1, useRoi), val, gpuRes);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -373,13 +351,11 @@ TEST_P(Compare, Accuracy) ...@@ -373,13 +351,11 @@ TEST_P(Compare, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::compare(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuRes, cmp_code); cv::gpu::compare(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuRes, cmp_code);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -426,9 +402,7 @@ TEST_P(MeanStdDev, Accuracy) ...@@ -426,9 +402,7 @@ TEST_P(MeanStdDev, Accuracy)
cv::Scalar mean; cv::Scalar mean;
cv::Scalar stddev; cv::Scalar stddev;
ASSERT_NO_THROW( cv::gpu::meanStdDev(loadMat(mat, useRoi), mean, stddev);
cv::gpu::meanStdDev(loadMat(mat, useRoi), mean, stddev);
);
EXPECT_NEAR(mean_gold[0], mean[0], 1e-5); EXPECT_NEAR(mean_gold[0], mean[0], 1e-5);
EXPECT_NEAR(mean_gold[1], mean[1], 1e-5); EXPECT_NEAR(mean_gold[1], mean[1], 1e-5);
...@@ -480,11 +454,7 @@ PARAM_TEST_CASE(NormDiff, cv::gpu::DeviceInfo, NormCode, UseRoi) ...@@ -480,11 +454,7 @@ PARAM_TEST_CASE(NormDiff, cv::gpu::DeviceInfo, NormCode, UseRoi)
TEST_P(NormDiff, Accuracy) TEST_P(NormDiff, Accuracy)
{ {
double norm; double norm = cv::gpu::norm(loadMat(mat1, useRoi), loadMat(mat2, useRoi), normCode);
ASSERT_NO_THROW(
norm = cv::gpu::norm(loadMat(mat1, useRoi), loadMat(mat2, useRoi), normCode);
);
EXPECT_NEAR(norm_gold, norm, 1e-6); EXPECT_NEAR(norm_gold, norm, 1e-6);
} }
...@@ -532,13 +502,11 @@ TEST_P(Flip, Accuracy) ...@@ -532,13 +502,11 @@ TEST_P(Flip, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpu_res;
cv::gpu::GpuMat gpu_res;
cv::gpu::flip(loadMat(mat, useRoi), gpu_res, flip_code); cv::gpu::flip(loadMat(mat, useRoi), gpu_res, flip_code);
gpu_res.download(dst); gpu_res.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -587,13 +555,11 @@ TEST_P(LUT, Accuracy) ...@@ -587,13 +555,11 @@ TEST_P(LUT, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpu_res;
cv::gpu::GpuMat gpu_res;
cv::gpu::LUT(loadMat(mat, useRoi), lut, gpu_res); cv::gpu::LUT(loadMat(mat, useRoi), lut, gpu_res);
gpu_res.download(dst); gpu_res.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -637,13 +603,11 @@ TEST_P(Exp, Accuracy) ...@@ -637,13 +603,11 @@ TEST_P(Exp, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpu_res;
cv::gpu::GpuMat gpu_res;
cv::gpu::exp(loadMat(mat, useRoi), gpu_res); cv::gpu::exp(loadMat(mat, useRoi), gpu_res);
gpu_res.download(dst); gpu_res.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -697,13 +661,11 @@ TEST_P(Pow, Accuracy) ...@@ -697,13 +661,11 @@ TEST_P(Pow, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpu_res;
cv::gpu::GpuMat gpu_res;
cv::gpu::pow(loadMat(mat, useRoi), power, gpu_res); cv::gpu::pow(loadMat(mat, useRoi), power, gpu_res);
gpu_res.download(dst); gpu_res.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 2); EXPECT_MAT_NEAR(dst_gold, dst, 2);
} }
...@@ -747,13 +709,11 @@ TEST_P(Log, Accuracy) ...@@ -747,13 +709,11 @@ TEST_P(Log, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpu_res;
cv::gpu::GpuMat gpu_res;
cv::gpu::log(loadMat(mat, useRoi), gpu_res); cv::gpu::log(loadMat(mat, useRoi), gpu_res);
gpu_res.download(dst); gpu_res.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -796,14 +756,12 @@ PARAM_TEST_CASE(Magnitude, cv::gpu::DeviceInfo, UseRoi) ...@@ -796,14 +756,12 @@ PARAM_TEST_CASE(Magnitude, cv::gpu::DeviceInfo, UseRoi)
TEST_P(Magnitude, Accuracy) TEST_P(Magnitude, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW(
cv::gpu::GpuMat gpu_res;
cv::gpu::magnitude(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpu_res); cv::gpu::GpuMat gpu_res;
cv::gpu::magnitude(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpu_res);
gpu_res.download(dst); gpu_res.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-4); EXPECT_MAT_NEAR(dst_gold, dst, 1e-4);
} }
...@@ -847,13 +805,11 @@ TEST_P(Phase, Accuracy) ...@@ -847,13 +805,11 @@ TEST_P(Phase, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpu_res;
cv::gpu::GpuMat gpu_res;
cv::gpu::phase(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpu_res); cv::gpu::phase(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpu_res);
gpu_res.download(dst); gpu_res.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-3); EXPECT_MAT_NEAR(dst_gold, dst, 1e-3);
} }
...@@ -898,15 +854,13 @@ TEST_P(CartToPolar, Accuracy) ...@@ -898,15 +854,13 @@ TEST_P(CartToPolar, Accuracy)
{ {
cv::Mat mag, angle; cv::Mat mag, angle;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuMag;
cv::gpu::GpuMat gpuMag; cv::gpu::GpuMat gpuAngle;
cv::gpu::GpuMat gpuAngle;
cv::gpu::cartToPolar(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuMag, gpuAngle); cv::gpu::cartToPolar(loadMat(mat1, useRoi), loadMat(mat2, useRoi), gpuMag, gpuAngle);
gpuMag.download(mag); gpuMag.download(mag);
gpuAngle.download(angle); gpuAngle.download(angle);
);
EXPECT_MAT_NEAR(mag_gold, mag, 1e-4); EXPECT_MAT_NEAR(mag_gold, mag, 1e-4);
EXPECT_MAT_NEAR(angle_gold, angle, 1e-3); EXPECT_MAT_NEAR(angle_gold, angle, 1e-3);
...@@ -952,16 +906,14 @@ PARAM_TEST_CASE(PolarToCart, cv::gpu::DeviceInfo, UseRoi) ...@@ -952,16 +906,14 @@ PARAM_TEST_CASE(PolarToCart, cv::gpu::DeviceInfo, UseRoi)
TEST_P(PolarToCart, Accuracy) TEST_P(PolarToCart, Accuracy)
{ {
cv::Mat x, y; cv::Mat x, y;
ASSERT_NO_THROW(
cv::gpu::GpuMat gpuX;
cv::gpu::GpuMat gpuY;
cv::gpu::polarToCart(loadMat(mag, useRoi), loadMat(angle, useRoi), gpuX, gpuY); cv::gpu::GpuMat gpuX;
cv::gpu::GpuMat gpuY;
cv::gpu::polarToCart(loadMat(mag, useRoi), loadMat(angle, useRoi), gpuX, gpuY);
gpuX.download(x); gpuX.download(x);
gpuY.download(y); gpuY.download(y);
);
EXPECT_MAT_NEAR(x_gold, x, 1e-4); EXPECT_MAT_NEAR(x_gold, x, 1e-4);
EXPECT_MAT_NEAR(y_gold, y, 1e-4); EXPECT_MAT_NEAR(y_gold, y, 1e-4);
...@@ -1036,9 +988,7 @@ TEST_P(MinMax, Accuracy) ...@@ -1036,9 +988,7 @@ TEST_P(MinMax, Accuracy)
double minVal, maxVal; double minVal, maxVal;
ASSERT_NO_THROW( cv::gpu::minMax(loadMat(mat, useRoi), &minVal, &maxVal, loadMat(mask, useRoi));
cv::gpu::minMax(loadMat(mat, useRoi), &minVal, &maxVal, loadMat(mask, useRoi));
);
EXPECT_DOUBLE_EQ(minVal_gold, minVal); EXPECT_DOUBLE_EQ(minVal_gold, minVal);
EXPECT_DOUBLE_EQ(maxVal_gold, maxVal); EXPECT_DOUBLE_EQ(maxVal_gold, maxVal);
...@@ -1117,9 +1067,7 @@ TEST_P(MinMaxLoc, Accuracy) ...@@ -1117,9 +1067,7 @@ TEST_P(MinMaxLoc, Accuracy)
double minVal, maxVal; double minVal, maxVal;
cv::Point minLoc, maxLoc; cv::Point minLoc, maxLoc;
ASSERT_NO_THROW( cv::gpu::minMaxLoc(loadMat(mat, useRoi), &minVal, &maxVal, &minLoc, &maxLoc, loadMat(mask, useRoi));
cv::gpu::minMaxLoc(loadMat(mat, useRoi), &minVal, &maxVal, &minLoc, &maxLoc, loadMat(mask, useRoi));
);
EXPECT_DOUBLE_EQ(minVal_gold, minVal); EXPECT_DOUBLE_EQ(minVal_gold, minVal);
EXPECT_DOUBLE_EQ(maxVal_gold, maxVal); EXPECT_DOUBLE_EQ(maxVal_gold, maxVal);
...@@ -1178,11 +1126,7 @@ TEST_P(CountNonZero, Accuracy) ...@@ -1178,11 +1126,7 @@ TEST_P(CountNonZero, Accuracy)
if (type == CV_64F && !supportFeature(devInfo, cv::gpu::NATIVE_DOUBLE)) if (type == CV_64F && !supportFeature(devInfo, cv::gpu::NATIVE_DOUBLE))
return; return;
int n; int n = cv::gpu::countNonZero(loadMat(mat, useRoi));
ASSERT_NO_THROW(
n = cv::gpu::countNonZero(loadMat(mat, useRoi));
);
ASSERT_EQ(n_gold, n); ASSERT_EQ(n_gold, n);
} }
...@@ -1227,11 +1171,7 @@ TEST_P(Sum, Simple) ...@@ -1227,11 +1171,7 @@ TEST_P(Sum, Simple)
cv::Scalar sum_gold = cv::sum(mat); cv::Scalar sum_gold = cv::sum(mat);
cv::Scalar sum; cv::Scalar sum = cv::gpu::sum(loadMat(mat, useRoi));
ASSERT_NO_THROW(
sum = cv::gpu::sum(loadMat(mat, useRoi));
);
EXPECT_NEAR(sum[0], sum_gold[0], mat.size().area() * 1e-5); EXPECT_NEAR(sum[0], sum_gold[0], mat.size().area() * 1e-5);
EXPECT_NEAR(sum[1], sum_gold[1], mat.size().area() * 1e-5); EXPECT_NEAR(sum[1], sum_gold[1], mat.size().area() * 1e-5);
...@@ -1246,11 +1186,7 @@ TEST_P(Sum, Abs) ...@@ -1246,11 +1186,7 @@ TEST_P(Sum, Abs)
cv::Scalar sum_gold = cv::norm(mat, cv::NORM_L1); cv::Scalar sum_gold = cv::norm(mat, cv::NORM_L1);
cv::Scalar sum; cv::Scalar sum = cv::gpu::absSum(loadMat(mat, useRoi));
ASSERT_NO_THROW(
sum = cv::gpu::absSum(loadMat(mat, useRoi));
);
EXPECT_NEAR(sum[0], sum_gold[0], mat.size().area() * 1e-5); EXPECT_NEAR(sum[0], sum_gold[0], mat.size().area() * 1e-5);
EXPECT_NEAR(sum[1], sum_gold[1], mat.size().area() * 1e-5); EXPECT_NEAR(sum[1], sum_gold[1], mat.size().area() * 1e-5);
...@@ -1267,11 +1203,7 @@ TEST_P(Sum, Sqr) ...@@ -1267,11 +1203,7 @@ TEST_P(Sum, Sqr)
multiply(mat, mat, sqrmat); multiply(mat, mat, sqrmat);
cv::Scalar sum_gold = sum(sqrmat); cv::Scalar sum_gold = sum(sqrmat);
cv::Scalar sum; cv::Scalar sum = cv::gpu::sqrSum(loadMat(mat, useRoi));
ASSERT_NO_THROW(
sum = cv::gpu::sqrSum(loadMat(mat, useRoi));
);
EXPECT_NEAR(sum[0], sum_gold[0], mat.size().area() * 1e-5); EXPECT_NEAR(sum[0], sum_gold[0], mat.size().area() * 1e-5);
EXPECT_NEAR(sum[1], sum_gold[1], mat.size().area() * 1e-5); EXPECT_NEAR(sum[1], sum_gold[1], mat.size().area() * 1e-5);
...@@ -1330,13 +1262,11 @@ TEST_P(Bitwise, Not) ...@@ -1330,13 +1262,11 @@ TEST_P(Bitwise, Not)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::bitwise_not(loadMat(mat1), dev_dst); cv::gpu::bitwise_not(loadMat(mat1), dev_dst);
dev_dst.download(dst); dev_dst.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1350,13 +1280,11 @@ TEST_P(Bitwise, Or) ...@@ -1350,13 +1280,11 @@ TEST_P(Bitwise, Or)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::bitwise_or(loadMat(mat1), loadMat(mat2), dev_dst); cv::gpu::bitwise_or(loadMat(mat1), loadMat(mat2), dev_dst);
dev_dst.download(dst); dev_dst.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1370,13 +1298,11 @@ TEST_P(Bitwise, And) ...@@ -1370,13 +1298,11 @@ TEST_P(Bitwise, And)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::bitwise_and(loadMat(mat1), loadMat(mat2), dev_dst); cv::gpu::bitwise_and(loadMat(mat1), loadMat(mat2), dev_dst);
dev_dst.download(dst); dev_dst.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1390,13 +1316,11 @@ TEST_P(Bitwise, Xor) ...@@ -1390,13 +1316,11 @@ TEST_P(Bitwise, Xor)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::bitwise_xor(loadMat(mat1), loadMat(mat2), dev_dst); cv::gpu::bitwise_xor(loadMat(mat1), loadMat(mat2), dev_dst);
dev_dst.download(dst); dev_dst.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1457,13 +1381,11 @@ TEST_P(AddWeighted, Accuracy) ...@@ -1457,13 +1381,11 @@ TEST_P(AddWeighted, Accuracy)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::addWeighted(loadMat(src1, useRoi), alpha, loadMat(src2, useRoi), beta, gamma, dev_dst, dtype); cv::gpu::addWeighted(loadMat(src1, useRoi), alpha, loadMat(src2, useRoi), beta, gamma, dev_dst, dtype);
dev_dst.download(dst); dev_dst.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, dtype < CV_32F ? 1.0 : 1e-12); EXPECT_MAT_NEAR(dst_gold, dst, dtype < CV_32F ? 1.0 : 1e-12);
} }
...@@ -1522,13 +1444,11 @@ TEST_P(Reduce, Accuracy) ...@@ -1522,13 +1444,11 @@ TEST_P(Reduce, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::reduce(loadMat(src, useRoi), dev_dst, dim, reduceOp, reduceOp == CV_REDUCE_SUM || reduceOp == CV_REDUCE_AVG ? CV_32F : CV_MAT_DEPTH(type)); cv::gpu::reduce(loadMat(src, useRoi), dev_dst, dim, reduceOp, reduceOp == CV_REDUCE_SUM || reduceOp == CV_REDUCE_AVG ? CV_32F : CV_MAT_DEPTH(type));
dev_dst.download(dst); dev_dst.download(dst);
);
double norm = reduceOp == CV_REDUCE_SUM || reduceOp == CV_REDUCE_AVG ? 1e-1 : 0.0; double norm = reduceOp == CV_REDUCE_SUM || reduceOp == CV_REDUCE_AVG ? 1e-1 : 0.0;
EXPECT_MAT_NEAR(dst_gold, dst, norm); EXPECT_MAT_NEAR(dst_gold, dst, norm);
...@@ -1587,13 +1507,11 @@ TEST_P(GEMM, Accuracy) ...@@ -1587,13 +1507,11 @@ TEST_P(GEMM, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::gemm(loadMat(src1, useRoi), loadMat(src2, useRoi), alpha, loadMat(src3, useRoi), beta, dev_dst, flags); cv::gpu::gemm(loadMat(src1, useRoi), loadMat(src2, useRoi), alpha, loadMat(src3, useRoi), beta, dev_dst, flags);
dev_dst.download(dst); dev_dst.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-1); EXPECT_MAT_NEAR(dst_gold, dst, 1e-1);
} }
......
...@@ -77,14 +77,12 @@ TEST_P(StereoBlockMatching, Regression) ...@@ -77,14 +77,12 @@ TEST_P(StereoBlockMatching, Regression)
{ {
cv::Mat disp; cv::Mat disp;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_disp;
cv::gpu::GpuMat dev_disp; cv::gpu::StereoBM_GPU bm(0, 128, 19);
cv::gpu::StereoBM_GPU bm(0, 128, 19);
bm(cv::gpu::GpuMat(img_l), cv::gpu::GpuMat(img_r), dev_disp); bm(cv::gpu::GpuMat(img_l), cv::gpu::GpuMat(img_r), dev_disp);
dev_disp.download(disp); dev_disp.download(disp);
);
disp.convertTo(disp, img_template.type()); disp.convertTo(disp, img_template.type());
...@@ -124,14 +122,12 @@ TEST_P(StereoBeliefPropagation, Regression) ...@@ -124,14 +122,12 @@ TEST_P(StereoBeliefPropagation, Regression)
{ {
cv::Mat disp; cv::Mat disp;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_disp;
cv::gpu::GpuMat dev_disp; cv::gpu::StereoBeliefPropagation bpm(64, 8, 2, 25, 0.1f, 15, 1, CV_16S);
cv::gpu::StereoBeliefPropagation bpm(64, 8, 2, 25, 0.1f, 15, 1, CV_16S);
bpm(cv::gpu::GpuMat(img_l), cv::gpu::GpuMat(img_r), dev_disp); bpm(cv::gpu::GpuMat(img_l), cv::gpu::GpuMat(img_r), dev_disp);
dev_disp.download(disp); dev_disp.download(disp);
);
disp.convertTo(disp, img_template.type()); disp.convertTo(disp, img_template.type());
...@@ -175,14 +171,12 @@ TEST_P(StereoConstantSpaceBP, Regression) ...@@ -175,14 +171,12 @@ TEST_P(StereoConstantSpaceBP, Regression)
{ {
cv::Mat disp; cv::Mat disp;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_disp;
cv::gpu::GpuMat dev_disp; cv::gpu::StereoConstantSpaceBP bpm(128, 16, 4, 4);
cv::gpu::StereoConstantSpaceBP bpm(128, 16, 4, 4);
bpm(cv::gpu::GpuMat(img_l), cv::gpu::GpuMat(img_r), dev_disp); bpm(cv::gpu::GpuMat(img_l), cv::gpu::GpuMat(img_r), dev_disp);
dev_disp.download(disp); dev_disp.download(disp);
);
disp.convertTo(disp, img_template.type()); disp.convertTo(disp, img_template.type());
...@@ -229,14 +223,12 @@ struct ProjectPoints : TestWithParam<cv::gpu::DeviceInfo> ...@@ -229,14 +223,12 @@ struct ProjectPoints : TestWithParam<cv::gpu::DeviceInfo>
TEST_P(ProjectPoints, Accuracy) TEST_P(ProjectPoints, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
cv::gpu::GpuMat d_dst;
ASSERT_NO_THROW( cv::gpu::projectPoints(cv::gpu::GpuMat(src), rvec, tvec, camera_mat, cv::Mat(), d_dst);
cv::gpu::GpuMat d_dst;
cv::gpu::projectPoints(cv::gpu::GpuMat(src), rvec, tvec, camera_mat, cv::Mat(), d_dst);
d_dst.download(dst); d_dst.download(dst);
);
ASSERT_EQ(dst_gold.size(), dst.cols); ASSERT_EQ(dst_gold.size(), dst.cols);
ASSERT_EQ(1, dst.rows); ASSERT_EQ(1, dst.rows);
...@@ -286,13 +278,11 @@ TEST_P(TransformPoints, Accuracy) ...@@ -286,13 +278,11 @@ TEST_P(TransformPoints, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat d_dst;
cv::gpu::GpuMat d_dst;
cv::gpu::transformPoints(cv::gpu::GpuMat(src), rvec, tvec, d_dst); cv::gpu::transformPoints(cv::gpu::GpuMat(src), rvec, tvec, d_dst);
d_dst.download(dst); d_dst.download(dst);
);
ASSERT_EQ(src.size(), dst.size()); ASSERT_EQ(src.size(), dst.size());
ASSERT_EQ(src.type(), dst.type()); ASSERT_EQ(src.type(), dst.type());
...@@ -356,10 +346,8 @@ TEST_P(SolvePnPRansac, Accuracy) ...@@ -356,10 +346,8 @@ TEST_P(SolvePnPRansac, Accuracy)
cv::Mat rvec, tvec; cv::Mat rvec, tvec;
std::vector<int> inliers; std::vector<int> inliers;
ASSERT_NO_THROW( cv::gpu::solvePnPRansac(object, cv::Mat(1, image_vec.size(), CV_32FC2, &image_vec[0]), camera_mat,
cv::gpu::solvePnPRansac(object, cv::Mat(1, image_vec.size(), CV_32FC2, &image_vec[0]), camera_mat, cv::Mat(1, 8, CV_32F, cv::Scalar::all(0)), rvec, tvec, false, 200, 2.f, 100, &inliers);
cv::Mat(1, 8, CV_32F, cv::Scalar::all(0)), rvec, tvec, false, 200, 2.f, 100, &inliers);
);
ASSERT_LE(cv::norm(rvec - rvec_gold), 1e-3f); ASSERT_LE(cv::norm(rvec - rvec_gold), 1e-3f);
ASSERT_LE(cv::norm(tvec - tvec_gold), 1e-3f); ASSERT_LE(cv::norm(tvec - tvec_gold), 1e-3f);
......
...@@ -117,9 +117,7 @@ TEST_P(SURF, EmptyDataTest) ...@@ -117,9 +117,7 @@ TEST_P(SURF, EmptyDataTest)
std::vector<cv::KeyPoint> keypoints; std::vector<cv::KeyPoint> keypoints;
std::vector<float> descriptors; std::vector<float> descriptors;
ASSERT_NO_THROW( fdetector(image, cv::gpu::GpuMat(), keypoints, descriptors);
fdetector(image, cv::gpu::GpuMat(), keypoints, descriptors);
);
EXPECT_TRUE(keypoints.empty()); EXPECT_TRUE(keypoints.empty());
EXPECT_TRUE(descriptors.empty()); EXPECT_TRUE(descriptors.empty());
...@@ -130,14 +128,12 @@ TEST_P(SURF, Accuracy) ...@@ -130,14 +128,12 @@ TEST_P(SURF, Accuracy)
std::vector<cv::KeyPoint> keypoints; std::vector<cv::KeyPoint> keypoints;
cv::Mat descriptors; cv::Mat descriptors;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_descriptors;
cv::gpu::GpuMat dev_descriptors; cv::gpu::SURF_GPU fdetector; fdetector.extended = false;
cv::gpu::SURF_GPU fdetector; fdetector.extended = false;
fdetector(loadMat(image), loadMat(mask), keypoints, dev_descriptors); fdetector(loadMat(image), loadMat(mask), keypoints, dev_descriptors);
dev_descriptors.download(descriptors); dev_descriptors.download(descriptors);
);
cv::BruteForceMatcher< cv::L2<float> > matcher; cv::BruteForceMatcher< cv::L2<float> > matcher;
std::vector<cv::DMatch> matches; std::vector<cv::DMatch> matches;
...@@ -218,11 +214,9 @@ TEST_P(BruteForceMatcher, Match) ...@@ -218,11 +214,9 @@ TEST_P(BruteForceMatcher, Match)
{ {
std::vector<cv::DMatch> matches; std::vector<cv::DMatch> matches;
ASSERT_NO_THROW( cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
matcher.match(loadMat(query), loadMat(train), matches); matcher.match(loadMat(query), loadMat(train), matches);
);
ASSERT_EQ(queryDescCount, matches.size()); ASSERT_EQ(queryDescCount, matches.size());
...@@ -244,28 +238,26 @@ TEST_P(BruteForceMatcher, MatchAdd) ...@@ -244,28 +238,26 @@ TEST_P(BruteForceMatcher, MatchAdd)
bool isMaskSupported; bool isMaskSupported;
ASSERT_NO_THROW( cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
cv::gpu::GpuMat d_train(train); cv::gpu::GpuMat d_train(train);
// make add() twice to test such case // make add() twice to test such case
matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(0, train.rows/2))); matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(0, train.rows/2)));
matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(train.rows/2, train.rows))); matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(train.rows/2, train.rows)));
// prepare masks (make first nearest match illegal) // prepare masks (make first nearest match illegal)
std::vector<cv::gpu::GpuMat> masks(2); std::vector<cv::gpu::GpuMat> masks(2);
for (int mi = 0; mi < 2; mi++) for (int mi = 0; mi < 2; mi++)
{ {
masks[mi] = cv::gpu::GpuMat(query.rows, train.rows/2, CV_8UC1, cv::Scalar::all(1)); masks[mi] = cv::gpu::GpuMat(query.rows, train.rows/2, CV_8UC1, cv::Scalar::all(1));
for (int di = 0; di < queryDescCount/2; di++) for (int di = 0; di < queryDescCount/2; di++)
masks[mi].col(di * countFactor).setTo(cv::Scalar::all(0)); masks[mi].col(di * countFactor).setTo(cv::Scalar::all(0));
} }
matcher.match(cv::gpu::GpuMat(query), matches, masks); matcher.match(cv::gpu::GpuMat(query), matches, masks);
isMaskSupported = matcher.isMaskSupported(); isMaskSupported = matcher.isMaskSupported();
);
ASSERT_EQ(queryDescCount, matches.size()); ASSERT_EQ(queryDescCount, matches.size());
...@@ -297,10 +289,8 @@ TEST_P(BruteForceMatcher, KnnMatch2) ...@@ -297,10 +289,8 @@ TEST_P(BruteForceMatcher, KnnMatch2)
std::vector< std::vector<cv::DMatch> > matches; std::vector< std::vector<cv::DMatch> > matches;
ASSERT_NO_THROW( cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
cv::gpu::BruteForceMatcher_GPU_base matcher(distType); matcher.knnMatch(loadMat(query), loadMat(train), matches, knn);
matcher.knnMatch(loadMat(query), loadMat(train), matches, knn);
);
ASSERT_EQ(queryDescCount, matches.size()); ASSERT_EQ(queryDescCount, matches.size());
...@@ -331,10 +321,8 @@ TEST_P(BruteForceMatcher, KnnMatch3) ...@@ -331,10 +321,8 @@ TEST_P(BruteForceMatcher, KnnMatch3)
std::vector< std::vector<cv::DMatch> > matches; std::vector< std::vector<cv::DMatch> > matches;
ASSERT_NO_THROW( cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
cv::gpu::BruteForceMatcher_GPU_base matcher(distType); matcher.knnMatch(loadMat(query), loadMat(train), matches, knn);
matcher.knnMatch(loadMat(query), loadMat(train), matches, knn);
);
ASSERT_EQ(queryDescCount, matches.size()); ASSERT_EQ(queryDescCount, matches.size());
...@@ -366,28 +354,26 @@ TEST_P(BruteForceMatcher, KnnMatchAdd2) ...@@ -366,28 +354,26 @@ TEST_P(BruteForceMatcher, KnnMatchAdd2)
bool isMaskSupported; bool isMaskSupported;
ASSERT_NO_THROW( cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
cv::gpu::GpuMat d_train(train); cv::gpu::GpuMat d_train(train);
// make add() twice to test such case // make add() twice to test such case
matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(0, train.rows / 2))); matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(0, train.rows / 2)));
matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(train.rows / 2, train.rows))); matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(train.rows / 2, train.rows)));
// prepare masks (make first nearest match illegal) // prepare masks (make first nearest match illegal)
std::vector<cv::gpu::GpuMat> masks(2); std::vector<cv::gpu::GpuMat> masks(2);
for (int mi = 0; mi < 2; mi++ ) for (int mi = 0; mi < 2; mi++ )
{ {
masks[mi] = cv::gpu::GpuMat(query.rows, train.rows / 2, CV_8UC1, cv::Scalar::all(1)); masks[mi] = cv::gpu::GpuMat(query.rows, train.rows / 2, CV_8UC1, cv::Scalar::all(1));
for (int di = 0; di < queryDescCount / 2; di++) for (int di = 0; di < queryDescCount / 2; di++)
masks[mi].col(di * countFactor).setTo(cv::Scalar::all(0)); masks[mi].col(di * countFactor).setTo(cv::Scalar::all(0));
} }
matcher.knnMatch(cv::gpu::GpuMat(query), matches, knn, masks); matcher.knnMatch(cv::gpu::GpuMat(query), matches, knn, masks);
isMaskSupported = matcher.isMaskSupported(); isMaskSupported = matcher.isMaskSupported();
);
ASSERT_EQ(queryDescCount, matches.size()); ASSERT_EQ(queryDescCount, matches.size());
...@@ -430,28 +416,26 @@ TEST_P(BruteForceMatcher, KnnMatchAdd3) ...@@ -430,28 +416,26 @@ TEST_P(BruteForceMatcher, KnnMatchAdd3)
bool isMaskSupported; bool isMaskSupported;
ASSERT_NO_THROW( cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
cv::gpu::GpuMat d_train(train); cv::gpu::GpuMat d_train(train);
// make add() twice to test such case // make add() twice to test such case
matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(0, train.rows / 2))); matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(0, train.rows / 2)));
matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(train.rows / 2, train.rows))); matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(train.rows / 2, train.rows)));
// prepare masks (make first nearest match illegal) // prepare masks (make first nearest match illegal)
std::vector<cv::gpu::GpuMat> masks(2); std::vector<cv::gpu::GpuMat> masks(2);
for (int mi = 0; mi < 2; mi++ ) for (int mi = 0; mi < 2; mi++ )
{ {
masks[mi] = cv::gpu::GpuMat(query.rows, train.rows / 2, CV_8UC1, cv::Scalar::all(1)); masks[mi] = cv::gpu::GpuMat(query.rows, train.rows / 2, CV_8UC1, cv::Scalar::all(1));
for (int di = 0; di < queryDescCount / 2; di++) for (int di = 0; di < queryDescCount / 2; di++)
masks[mi].col(di * countFactor).setTo(cv::Scalar::all(0)); masks[mi].col(di * countFactor).setTo(cv::Scalar::all(0));
} }
matcher.knnMatch(cv::gpu::GpuMat(query), matches, knn, masks); matcher.knnMatch(cv::gpu::GpuMat(query), matches, knn, masks);
isMaskSupported = matcher.isMaskSupported(); isMaskSupported = matcher.isMaskSupported();
);
ASSERT_EQ(queryDescCount, matches.size()); ASSERT_EQ(queryDescCount, matches.size());
...@@ -497,11 +481,9 @@ TEST_P(BruteForceMatcher, RadiusMatch) ...@@ -497,11 +481,9 @@ TEST_P(BruteForceMatcher, RadiusMatch)
std::vector< std::vector<cv::DMatch> > matches; std::vector< std::vector<cv::DMatch> > matches;
ASSERT_NO_THROW( cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
matcher.radiusMatch(loadMat(query), loadMat(train), matches, radius); matcher.radiusMatch(loadMat(query), loadMat(train), matches, radius);
);
ASSERT_EQ(queryDescCount, matches.size()); ASSERT_EQ(queryDescCount, matches.size());
...@@ -533,28 +515,26 @@ TEST_P(BruteForceMatcher, RadiusMatchAdd) ...@@ -533,28 +515,26 @@ TEST_P(BruteForceMatcher, RadiusMatchAdd)
bool isMaskSupported; bool isMaskSupported;
ASSERT_NO_THROW( cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
cv::gpu::BruteForceMatcher_GPU_base matcher(distType);
cv::gpu::GpuMat d_train(train); cv::gpu::GpuMat d_train(train);
// make add() twice to test such case // make add() twice to test such case
matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(0, train.rows / 2))); matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(0, train.rows / 2)));
matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(train.rows / 2, train.rows))); matcher.add(std::vector<cv::gpu::GpuMat>(1, d_train.rowRange(train.rows / 2, train.rows)));
// prepare masks (make first nearest match illegal) // prepare masks (make first nearest match illegal)
std::vector<cv::gpu::GpuMat> masks(2); std::vector<cv::gpu::GpuMat> masks(2);
for (int mi = 0; mi < 2; mi++) for (int mi = 0; mi < 2; mi++)
{ {
masks[mi] = cv::gpu::GpuMat(query.rows, train.rows / 2, CV_8UC1, cv::Scalar::all(1)); masks[mi] = cv::gpu::GpuMat(query.rows, train.rows / 2, CV_8UC1, cv::Scalar::all(1));
for (int di = 0; di < queryDescCount / 2; di++) for (int di = 0; di < queryDescCount / 2; di++)
masks[mi].col(di * countFactor).setTo(cv::Scalar::all(0)); masks[mi].col(di * countFactor).setTo(cv::Scalar::all(0));
} }
matcher.radiusMatch(cv::gpu::GpuMat(query), matches, radius, masks); matcher.radiusMatch(cv::gpu::GpuMat(query), matches, radius, masks);
isMaskSupported = matcher.isMaskSupported(); isMaskSupported = matcher.isMaskSupported();
);
ASSERT_EQ(queryDescCount, matches.size()); ASSERT_EQ(queryDescCount, matches.size());
...@@ -647,11 +627,9 @@ TEST_P(FAST, Accuracy) ...@@ -647,11 +627,9 @@ TEST_P(FAST, Accuracy)
{ {
std::vector<cv::KeyPoint> keypoints; std::vector<cv::KeyPoint> keypoints;
ASSERT_NO_THROW( cv::gpu::FAST_GPU fastGPU(threshold);
cv::gpu::FAST_GPU fastGPU(threshold);
fastGPU(cv::gpu::GpuMat(image), cv::gpu::GpuMat(), keypoints); fastGPU(cv::gpu::GpuMat(image), cv::gpu::GpuMat(), keypoints);
);
ASSERT_EQ(keypoints.size(), keypoints_gold.size()); ASSERT_EQ(keypoints.size(), keypoints_gold.size());
...@@ -711,14 +689,12 @@ TEST_P(ORB, Accuracy) ...@@ -711,14 +689,12 @@ TEST_P(ORB, Accuracy)
std::vector<cv::KeyPoint> keypoints; std::vector<cv::KeyPoint> keypoints;
cv::Mat descriptors; cv::Mat descriptors;
ASSERT_NO_THROW( cv::gpu::ORB_GPU orbGPU(npoints);
cv::gpu::ORB_GPU orbGPU(npoints); cv::gpu::GpuMat d_descriptors;
cv::gpu::GpuMat d_descriptors;
orbGPU(cv::gpu::GpuMat(image), cv::gpu::GpuMat(mask), keypoints, d_descriptors); orbGPU(cv::gpu::GpuMat(image), cv::gpu::GpuMat(mask), keypoints, d_descriptors);
d_descriptors.download(descriptors); d_descriptors.download(descriptors);
);
cv::BruteForceMatcher<cv::Hamming> matcher; cv::BruteForceMatcher<cv::Hamming> matcher;
std::vector<cv::DMatch> matches; std::vector<cv::DMatch> matches;
......
...@@ -107,13 +107,11 @@ TEST_P(Blur, Rgba) ...@@ -107,13 +107,11 @@ TEST_P(Blur, Rgba)
{ {
cv::Mat dst_rgba; cv::Mat dst_rgba;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::blur(loadMat(img_rgba, useRoi), dev_dst_rgba, ksize); cv::gpu::blur(loadMat(img_rgba, useRoi), dev_dst_rgba, ksize);
dev_dst_rgba.download(dst_rgba); dev_dst_rgba.download(dst_rgba);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, ksize, 1.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, ksize, 1.0);
} }
...@@ -122,13 +120,11 @@ TEST_P(Blur, Gray) ...@@ -122,13 +120,11 @@ TEST_P(Blur, Gray)
{ {
cv::Mat dst_gray; cv::Mat dst_gray;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_gray;
cv::gpu::GpuMat dev_dst_gray;
cv::gpu::blur(loadMat(img_gray, useRoi), dev_dst_gray, ksize); cv::gpu::blur(loadMat(img_gray, useRoi), dev_dst_gray, ksize);
dev_dst_gray.download(dst_gray); dev_dst_gray.download(dst_gray);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, ksize, 1.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, ksize, 1.0);
} }
...@@ -186,13 +182,11 @@ TEST_P(Sobel, Rgba) ...@@ -186,13 +182,11 @@ TEST_P(Sobel, Rgba)
cv::Mat dst_rgba; cv::Mat dst_rgba;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::Sobel(loadMat(img_rgba, useRoi), dev_dst_rgba, -1, dx, dy, ksize); cv::gpu::Sobel(loadMat(img_rgba, useRoi), dev_dst_rgba, -1, dx, dy, ksize);
dev_dst_rgba.download(dst_rgba); dev_dst_rgba.download(dst_rgba);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, ksize, 0.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, ksize, 0.0);
} }
...@@ -204,13 +198,11 @@ TEST_P(Sobel, Gray) ...@@ -204,13 +198,11 @@ TEST_P(Sobel, Gray)
cv::Mat dst_gray; cv::Mat dst_gray;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_gray;
cv::gpu::GpuMat dev_dst_gray;
cv::gpu::Sobel(loadMat(img_gray, useRoi), dev_dst_gray, -1, dx, dy, ksize); cv::gpu::Sobel(loadMat(img_gray, useRoi), dev_dst_gray, -1, dx, dy, ksize);
dev_dst_gray.download(dst_gray); dev_dst_gray.download(dst_gray);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, ksize, 0.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, ksize, 0.0);
} }
...@@ -268,13 +260,11 @@ TEST_P(Scharr, Rgba) ...@@ -268,13 +260,11 @@ TEST_P(Scharr, Rgba)
cv::Mat dst_rgba; cv::Mat dst_rgba;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::Scharr(loadMat(img_rgba, useRoi), dev_dst_rgba, -1, dx, dy); cv::gpu::Scharr(loadMat(img_rgba, useRoi), dev_dst_rgba, -1, dx, dy);
dev_dst_rgba.download(dst_rgba); dev_dst_rgba.download(dst_rgba);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, 3, 0.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, 3, 0.0);
} }
...@@ -286,13 +276,11 @@ TEST_P(Scharr, Gray) ...@@ -286,13 +276,11 @@ TEST_P(Scharr, Gray)
cv::Mat dst_gray; cv::Mat dst_gray;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_gray;
cv::gpu::GpuMat dev_dst_gray;
cv::gpu::Scharr(loadMat(img_gray, useRoi), dev_dst_gray, -1, dx, dy); cv::gpu::Scharr(loadMat(img_gray, useRoi), dev_dst_gray, -1, dx, dy);
dev_dst_gray.download(dst_gray); dev_dst_gray.download(dst_gray);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, 3, 0.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, 3, 0.0);
} }
...@@ -348,13 +336,11 @@ TEST_P(GaussianBlur, Rgba) ...@@ -348,13 +336,11 @@ TEST_P(GaussianBlur, Rgba)
{ {
cv::Mat dst_rgba; cv::Mat dst_rgba;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::GaussianBlur(loadMat(img_rgba, useRoi), dev_dst_rgba, ksize, sigma1, sigma2); cv::gpu::GaussianBlur(loadMat(img_rgba, useRoi), dev_dst_rgba, ksize, sigma1, sigma2);
dev_dst_rgba.download(dst_rgba); dev_dst_rgba.download(dst_rgba);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, ksize, 3.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, ksize, 3.0);
} }
...@@ -363,13 +349,11 @@ TEST_P(GaussianBlur, Gray) ...@@ -363,13 +349,11 @@ TEST_P(GaussianBlur, Gray)
{ {
cv::Mat dst_gray; cv::Mat dst_gray;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_gray;
cv::gpu::GpuMat dev_dst_gray;
cv::gpu::GaussianBlur(loadMat(img_gray, useRoi), dev_dst_gray, ksize, sigma1, sigma2); cv::gpu::GaussianBlur(loadMat(img_gray, useRoi), dev_dst_gray, ksize, sigma1, sigma2);
dev_dst_gray.download(dst_gray); dev_dst_gray.download(dst_gray);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, ksize, 3.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, ksize, 3.0);
} }
...@@ -417,13 +401,11 @@ TEST_P(Laplacian, Rgba) ...@@ -417,13 +401,11 @@ TEST_P(Laplacian, Rgba)
{ {
cv::Mat dst_rgba; cv::Mat dst_rgba;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::Laplacian(loadMat(img_rgba, useRoi), dev_dst_rgba, -1, ksize); cv::gpu::Laplacian(loadMat(img_rgba, useRoi), dev_dst_rgba, -1, ksize);
dev_dst_rgba.download(dst_rgba); dev_dst_rgba.download(dst_rgba);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, 3, 0.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, 3, 0.0);
} }
...@@ -432,13 +414,11 @@ TEST_P(Laplacian, Gray) ...@@ -432,13 +414,11 @@ TEST_P(Laplacian, Gray)
{ {
cv::Mat dst_gray; cv::Mat dst_gray;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_gray;
cv::gpu::GpuMat dev_dst_gray;
cv::gpu::Laplacian(loadMat(img_gray, useRoi), dev_dst_gray, -1, ksize); cv::gpu::Laplacian(loadMat(img_gray, useRoi), dev_dst_gray, -1, ksize);
dev_dst_gray.download(dst_gray); dev_dst_gray.download(dst_gray);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, 3, 0.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, 3, 0.0);
} }
...@@ -488,13 +468,11 @@ TEST_P(Erode, Rgba) ...@@ -488,13 +468,11 @@ TEST_P(Erode, Rgba)
{ {
cv::Mat dst_rgba; cv::Mat dst_rgba;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::erode(loadMat(img_rgba, useRoi), dev_dst_rgba, kernel); cv::gpu::erode(loadMat(img_rgba, useRoi), dev_dst_rgba, kernel);
dev_dst_rgba.download(dst_rgba); dev_dst_rgba.download(dst_rgba);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, 3, 0.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, 3, 0.0);
} }
...@@ -503,13 +481,11 @@ TEST_P(Erode, Gray) ...@@ -503,13 +481,11 @@ TEST_P(Erode, Gray)
{ {
cv::Mat dst_gray; cv::Mat dst_gray;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_gray;
cv::gpu::GpuMat dev_dst_gray;
cv::gpu::erode(loadMat(img_gray, useRoi), dev_dst_gray, kernel); cv::gpu::erode(loadMat(img_gray, useRoi), dev_dst_gray, kernel);
dev_dst_gray.download(dst_gray); dev_dst_gray.download(dst_gray);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, 3, 0.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, 3, 0.0);
} }
...@@ -558,13 +534,11 @@ TEST_P(Dilate, Rgba) ...@@ -558,13 +534,11 @@ TEST_P(Dilate, Rgba)
{ {
cv::Mat dst_rgba; cv::Mat dst_rgba;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::dilate(loadMat(img_rgba, useRoi), dev_dst_rgba, kernel); cv::gpu::dilate(loadMat(img_rgba, useRoi), dev_dst_rgba, kernel);
dev_dst_rgba.download(dst_rgba); dev_dst_rgba.download(dst_rgba);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, 3, 0.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, 3, 0.0);
} }
...@@ -573,13 +547,11 @@ TEST_P(Dilate, Gray) ...@@ -573,13 +547,11 @@ TEST_P(Dilate, Gray)
{ {
cv::Mat dst_gray; cv::Mat dst_gray;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_gray;
cv::gpu::GpuMat dev_dst_gray;
cv::gpu::dilate(loadMat(img_gray, useRoi), dev_dst_gray, kernel); cv::gpu::dilate(loadMat(img_gray, useRoi), dev_dst_gray, kernel);
dev_dst_gray.download(dst_gray); dev_dst_gray.download(dst_gray);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, 3, 0.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, 3, 0.0);
} }
...@@ -630,13 +602,11 @@ TEST_P(MorphEx, Rgba) ...@@ -630,13 +602,11 @@ TEST_P(MorphEx, Rgba)
{ {
cv::Mat dst_rgba; cv::Mat dst_rgba;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::GpuMat dev_dst_rgba;
cv::gpu::morphologyEx(loadMat(img_rgba, useRoi), dev_dst_rgba, morphOp, kernel); cv::gpu::morphologyEx(loadMat(img_rgba, useRoi), dev_dst_rgba, morphOp, kernel);
dev_dst_rgba.download(dst_rgba); dev_dst_rgba.download(dst_rgba);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, 4, 0.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_rgba, dst_rgba, 4, 0.0);
} }
...@@ -645,13 +615,11 @@ TEST_P(MorphEx, Gray) ...@@ -645,13 +615,11 @@ TEST_P(MorphEx, Gray)
{ {
cv::Mat dst_gray; cv::Mat dst_gray;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst_gray;
cv::gpu::GpuMat dev_dst_gray;
cv::gpu::morphologyEx(loadMat(img_gray, useRoi), dev_dst_gray, morphOp, kernel); cv::gpu::morphologyEx(loadMat(img_gray, useRoi), dev_dst_gray, morphOp, kernel);
dev_dst_gray.download(dst_gray); dev_dst_gray.download(dst_gray);
);
EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, 4, 0.0); EXPECT_MAT_NEAR_KSIZE(dst_gold_gray, dst_gray, 4, 0.0);
} }
......
...@@ -186,10 +186,8 @@ struct Detect : TestWithParam<cv::gpu::DeviceInfo> ...@@ -186,10 +186,8 @@ struct Detect : TestWithParam<cv::gpu::DeviceInfo>
TEST_P(Detect, Accuracy) TEST_P(Detect, Accuracy)
{ {
ASSERT_NO_THROW( CV_GpuHogDetectTestRunner runner;
CV_GpuHogDetectTestRunner runner; runner.run();
runner.run();
);
} }
INSTANTIATE_TEST_CASE_P(HOG, Detect, ALL_DEVICES); INSTANTIATE_TEST_CASE_P(HOG, Detect, ALL_DEVICES);
...@@ -316,10 +314,8 @@ struct GetDescriptors : TestWithParam<cv::gpu::DeviceInfo> ...@@ -316,10 +314,8 @@ struct GetDescriptors : TestWithParam<cv::gpu::DeviceInfo>
TEST_P(GetDescriptors, Accuracy) TEST_P(GetDescriptors, Accuracy)
{ {
ASSERT_NO_THROW( CV_GpuHogGetDescriptorsTestRunner runner;
CV_GpuHogGetDescriptorsTestRunner runner; runner.run();
runner.run();
);
} }
INSTANTIATE_TEST_CASE_P(HOG, GetDescriptors, ALL_DEVICES); INSTANTIATE_TEST_CASE_P(HOG, GetDescriptors, ALL_DEVICES);
......
...@@ -89,13 +89,11 @@ TEST_P(Threshold, Accuracy) ...@@ -89,13 +89,11 @@ TEST_P(Threshold, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::threshold(loadMat(src, useRoi), gpuRes, thresh, maxVal, threshOp); cv::gpu::threshold(loadMat(src, useRoi), gpuRes, thresh, maxVal, threshOp);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -146,13 +144,11 @@ TEST_P(Resize, Up) ...@@ -146,13 +144,11 @@ TEST_P(Resize, Up)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::resize(loadMat(src, useRoi), gpuRes, cv::Size(), 2.0, 2.0, interpolation); cv::gpu::resize(loadMat(src, useRoi), gpuRes, cv::Size(), 2.0, 2.0, interpolation);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_SIMILAR(dst_gold_up, dst, 0.21); EXPECT_MAT_SIMILAR(dst_gold_up, dst, 0.21);
} }
...@@ -161,13 +157,11 @@ TEST_P(Resize, Down) ...@@ -161,13 +157,11 @@ TEST_P(Resize, Down)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::resize(loadMat(src, useRoi), gpuRes, cv::Size(), 0.5, 0.5, interpolation); cv::gpu::resize(loadMat(src, useRoi), gpuRes, cv::Size(), 0.5, 0.5, interpolation);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_SIMILAR(dst_gold_down, dst, 0.22); EXPECT_MAT_SIMILAR(dst_gold_down, dst, 0.22);
} }
...@@ -223,13 +217,11 @@ TEST_P(Remap, Accuracy) ...@@ -223,13 +217,11 @@ TEST_P(Remap, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::remap(loadMat(src, useRoi), gpuRes, loadMat(xmap, useRoi), loadMat(ymap, useRoi), interpolation, borderType);
cv::gpu::remap(loadMat(src, useRoi), gpuRes, loadMat(xmap, useRoi), loadMat(ymap, useRoi), interpolation, borderType);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_SIMILAR(dst_gold, dst, 1e-1); EXPECT_MAT_SIMILAR(dst_gold, dst, 1e-1);
} }
...@@ -290,13 +282,11 @@ TEST_P(CopyMakeBorder, Accuracy) ...@@ -290,13 +282,11 @@ TEST_P(CopyMakeBorder, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::copyMakeBorder(loadMat(src, useRoi), gpuRes, top, botton, left, right, borderType, val); cv::gpu::copyMakeBorder(loadMat(src, useRoi), gpuRes, top, botton, left, right, borderType, val);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -350,13 +340,11 @@ TEST_P(WarpAffine, Accuracy) ...@@ -350,13 +340,11 @@ TEST_P(WarpAffine, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::warpAffine(loadMat(src), gpuRes, M, src.size(), flags); cv::gpu::warpAffine(loadMat(src), gpuRes, M, src.size(), flags);
gpuRes.download(dst); gpuRes.download(dst);
);
// Check inner parts (ignoring 1 pixel width border) // Check inner parts (ignoring 1 pixel width border)
cv::Mat dst_gold_roi = dst_gold.rowRange(1, dst_gold.rows - 1).colRange(1, dst_gold.cols - 1); cv::Mat dst_gold_roi = dst_gold.rowRange(1, dst_gold.rows - 1).colRange(1, dst_gold.cols - 1);
...@@ -413,13 +401,11 @@ TEST_P(WarpPerspective, Accuracy) ...@@ -413,13 +401,11 @@ TEST_P(WarpPerspective, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::warpPerspective(loadMat(src), gpuRes, M, src.size(), flags); cv::gpu::warpPerspective(loadMat(src), gpuRes, M, src.size(), flags);
gpuRes.download(dst); gpuRes.download(dst);
);
// Check inner parts (ignoring 1 pixel width border) // Check inner parts (ignoring 1 pixel width border)
cv::Mat dst_gold_roi = dst_gold.rowRange(1, dst_gold.rows - 1).colRange(1, dst_gold.cols - 1); cv::Mat dst_gold_roi = dst_gold.rowRange(1, dst_gold.rows - 1).colRange(1, dst_gold.cols - 1);
...@@ -469,13 +455,11 @@ TEST_P(Integral, Accuracy) ...@@ -469,13 +455,11 @@ TEST_P(Integral, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::integral(loadMat(src, useRoi), gpuRes); cv::gpu::integral(loadMat(src, useRoi), gpuRes);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -518,13 +502,11 @@ TEST_P(CvtColor, BGR2RGB) ...@@ -518,13 +502,11 @@ TEST_P(CvtColor, BGR2RGB)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2RGB); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2RGB);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -537,13 +519,11 @@ TEST_P(CvtColor, BGR2RGBA) ...@@ -537,13 +519,11 @@ TEST_P(CvtColor, BGR2RGBA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2RGBA); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2RGBA);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -556,13 +536,11 @@ TEST_P(CvtColor, BGR2BGRA) ...@@ -556,13 +536,11 @@ TEST_P(CvtColor, BGR2BGRA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2BGRA); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2BGRA);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -576,13 +554,11 @@ TEST_P(CvtColor, BGRA2RGB) ...@@ -576,13 +554,11 @@ TEST_P(CvtColor, BGRA2RGB)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGRA2RGB); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGRA2RGB);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -596,13 +572,11 @@ TEST_P(CvtColor, BGRA2BGR) ...@@ -596,13 +572,11 @@ TEST_P(CvtColor, BGRA2BGR)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGRA2BGR); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGRA2BGR);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -616,13 +590,11 @@ TEST_P(CvtColor, BGRA2RGBA) ...@@ -616,13 +590,11 @@ TEST_P(CvtColor, BGRA2RGBA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGRA2RGBA); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGRA2RGBA);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -635,13 +607,11 @@ TEST_P(CvtColor, BGR2GRAY) ...@@ -635,13 +607,11 @@ TEST_P(CvtColor, BGR2GRAY)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2GRAY); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2GRAY);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -655,13 +625,11 @@ TEST_P(CvtColor, RGB2GRAY) ...@@ -655,13 +625,11 @@ TEST_P(CvtColor, RGB2GRAY)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2GRAY); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2GRAY);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -675,13 +643,11 @@ TEST_P(CvtColor, GRAY2BGR) ...@@ -675,13 +643,11 @@ TEST_P(CvtColor, GRAY2BGR)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_GRAY2BGR); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_GRAY2BGR);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -695,13 +661,11 @@ TEST_P(CvtColor, GRAY2BGRA) ...@@ -695,13 +661,11 @@ TEST_P(CvtColor, GRAY2BGRA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_GRAY2BGRA, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_GRAY2BGRA, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -715,13 +679,11 @@ TEST_P(CvtColor, BGRA2GRAY) ...@@ -715,13 +679,11 @@ TEST_P(CvtColor, BGRA2GRAY)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGRA2GRAY); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGRA2GRAY);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -735,13 +697,11 @@ TEST_P(CvtColor, RGBA2GRAY) ...@@ -735,13 +697,11 @@ TEST_P(CvtColor, RGBA2GRAY)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGBA2GRAY); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGBA2GRAY);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -757,13 +717,11 @@ TEST_P(CvtColor, BGR2BGR565) ...@@ -757,13 +717,11 @@ TEST_P(CvtColor, BGR2BGR565)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2BGR565); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2BGR565);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -780,13 +738,11 @@ TEST_P(CvtColor, RGB2BGR565) ...@@ -780,13 +738,11 @@ TEST_P(CvtColor, RGB2BGR565)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2BGR565); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2BGR565);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -803,13 +759,11 @@ TEST_P(CvtColor, BGR5652BGR) ...@@ -803,13 +759,11 @@ TEST_P(CvtColor, BGR5652BGR)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5652BGR); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5652BGR);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -826,13 +780,11 @@ TEST_P(CvtColor, BGR5652RGB) ...@@ -826,13 +780,11 @@ TEST_P(CvtColor, BGR5652RGB)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5652RGB); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5652RGB);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -849,13 +801,11 @@ TEST_P(CvtColor, BGRA2BGR565) ...@@ -849,13 +801,11 @@ TEST_P(CvtColor, BGRA2BGR565)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGRA2BGR565); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGRA2BGR565);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -872,13 +822,11 @@ TEST_P(CvtColor, RGBA2BGR565) ...@@ -872,13 +822,11 @@ TEST_P(CvtColor, RGBA2BGR565)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGBA2BGR565); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGBA2BGR565);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -895,13 +843,11 @@ TEST_P(CvtColor, BGR5652BGRA) ...@@ -895,13 +843,11 @@ TEST_P(CvtColor, BGR5652BGRA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5652BGRA, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5652BGRA, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -918,13 +864,11 @@ TEST_P(CvtColor, BGR5652RGBA) ...@@ -918,13 +864,11 @@ TEST_P(CvtColor, BGR5652RGBA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5652RGBA, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5652RGBA, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -941,13 +885,11 @@ TEST_P(CvtColor, GRAY2BGR565) ...@@ -941,13 +885,11 @@ TEST_P(CvtColor, GRAY2BGR565)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_GRAY2BGR565); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_GRAY2BGR565);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -964,13 +906,11 @@ TEST_P(CvtColor, BGR5652GRAY) ...@@ -964,13 +906,11 @@ TEST_P(CvtColor, BGR5652GRAY)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5652GRAY); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5652GRAY);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -986,13 +926,11 @@ TEST_P(CvtColor, BGR2BGR555) ...@@ -986,13 +926,11 @@ TEST_P(CvtColor, BGR2BGR555)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2BGR555); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2BGR555);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1009,13 +947,11 @@ TEST_P(CvtColor, RGB2BGR555) ...@@ -1009,13 +947,11 @@ TEST_P(CvtColor, RGB2BGR555)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2BGR555); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2BGR555);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1032,13 +968,11 @@ TEST_P(CvtColor, BGR5552BGR) ...@@ -1032,13 +968,11 @@ TEST_P(CvtColor, BGR5552BGR)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5552BGR); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5552BGR);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1055,13 +989,11 @@ TEST_P(CvtColor, BGR5552RGB) ...@@ -1055,13 +989,11 @@ TEST_P(CvtColor, BGR5552RGB)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5552RGB); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5552RGB);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1078,13 +1010,11 @@ TEST_P(CvtColor, BGRA2BGR555) ...@@ -1078,13 +1010,11 @@ TEST_P(CvtColor, BGRA2BGR555)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGRA2BGR555); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGRA2BGR555);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1101,13 +1031,11 @@ TEST_P(CvtColor, RGBA2BGR555) ...@@ -1101,13 +1031,11 @@ TEST_P(CvtColor, RGBA2BGR555)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGBA2BGR555); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGBA2BGR555);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1124,13 +1052,11 @@ TEST_P(CvtColor, BGR5552BGRA) ...@@ -1124,13 +1052,11 @@ TEST_P(CvtColor, BGR5552BGRA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5552BGRA, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5552BGRA, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1147,13 +1073,11 @@ TEST_P(CvtColor, BGR5552RGBA) ...@@ -1147,13 +1073,11 @@ TEST_P(CvtColor, BGR5552RGBA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5552RGBA, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5552RGBA, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1170,13 +1094,11 @@ TEST_P(CvtColor, GRAY2BGR555) ...@@ -1170,13 +1094,11 @@ TEST_P(CvtColor, GRAY2BGR555)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_GRAY2BGR555); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_GRAY2BGR555);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1193,13 +1115,11 @@ TEST_P(CvtColor, BGR5552GRAY) ...@@ -1193,13 +1115,11 @@ TEST_P(CvtColor, BGR5552GRAY)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5552GRAY); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR5552GRAY);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -1212,13 +1132,11 @@ TEST_P(CvtColor, BGR2XYZ) ...@@ -1212,13 +1132,11 @@ TEST_P(CvtColor, BGR2XYZ)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2XYZ); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2XYZ);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -1232,13 +1150,11 @@ TEST_P(CvtColor, RGB2XYZ) ...@@ -1232,13 +1150,11 @@ TEST_P(CvtColor, RGB2XYZ)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2XYZ); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2XYZ);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -1251,13 +1167,11 @@ TEST_P(CvtColor, BGR2XYZ4) ...@@ -1251,13 +1167,11 @@ TEST_P(CvtColor, BGR2XYZ4)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2XYZ, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2XYZ, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -1277,13 +1191,11 @@ TEST_P(CvtColor, BGRA2XYZ4) ...@@ -1277,13 +1191,11 @@ TEST_P(CvtColor, BGRA2XYZ4)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2XYZ, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2XYZ, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -1303,13 +1215,11 @@ TEST_P(CvtColor, XYZ2BGR) ...@@ -1303,13 +1215,11 @@ TEST_P(CvtColor, XYZ2BGR)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_XYZ2BGR); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_XYZ2BGR);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -1323,13 +1233,11 @@ TEST_P(CvtColor, XYZ2RGB) ...@@ -1323,13 +1233,11 @@ TEST_P(CvtColor, XYZ2RGB)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_XYZ2RGB); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_XYZ2RGB);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -1348,13 +1256,11 @@ TEST_P(CvtColor, XYZ42BGR) ...@@ -1348,13 +1256,11 @@ TEST_P(CvtColor, XYZ42BGR)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_XYZ2BGR); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_XYZ2BGR);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -1373,13 +1279,11 @@ TEST_P(CvtColor, XYZ42BGRA) ...@@ -1373,13 +1279,11 @@ TEST_P(CvtColor, XYZ42BGRA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_XYZ2BGR, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_XYZ2BGR, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -1392,13 +1296,11 @@ TEST_P(CvtColor, BGR2YCrCb) ...@@ -1392,13 +1296,11 @@ TEST_P(CvtColor, BGR2YCrCb)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2YCrCb); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2YCrCb);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -1412,13 +1314,11 @@ TEST_P(CvtColor, RGB2YCrCb) ...@@ -1412,13 +1314,11 @@ TEST_P(CvtColor, RGB2YCrCb)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2YCrCb); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2YCrCb);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -1431,13 +1331,11 @@ TEST_P(CvtColor, BGR2YCrCb4) ...@@ -1431,13 +1331,11 @@ TEST_P(CvtColor, BGR2YCrCb4)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2YCrCb, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2YCrCb, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -1457,13 +1355,11 @@ TEST_P(CvtColor, RGBA2YCrCb4) ...@@ -1457,13 +1355,11 @@ TEST_P(CvtColor, RGBA2YCrCb4)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2YCrCb, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2YCrCb, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -1483,13 +1379,11 @@ TEST_P(CvtColor, YCrCb2BGR) ...@@ -1483,13 +1379,11 @@ TEST_P(CvtColor, YCrCb2BGR)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YCrCb2BGR); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YCrCb2BGR);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -1503,13 +1397,11 @@ TEST_P(CvtColor, YCrCb2RGB) ...@@ -1503,13 +1397,11 @@ TEST_P(CvtColor, YCrCb2RGB)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YCrCb2RGB); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YCrCb2RGB);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -1528,13 +1420,11 @@ TEST_P(CvtColor, YCrCb42RGB) ...@@ -1528,13 +1420,11 @@ TEST_P(CvtColor, YCrCb42RGB)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YCrCb2RGB); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YCrCb2RGB);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -1553,13 +1443,11 @@ TEST_P(CvtColor, YCrCb42RGBA) ...@@ -1553,13 +1443,11 @@ TEST_P(CvtColor, YCrCb42RGBA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YCrCb2RGB, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YCrCb2RGB, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -1575,13 +1463,11 @@ TEST_P(CvtColor, BGR2HSV) ...@@ -1575,13 +1463,11 @@ TEST_P(CvtColor, BGR2HSV)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2HSV); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2HSV);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -1598,13 +1484,11 @@ TEST_P(CvtColor, RGB2HSV) ...@@ -1598,13 +1484,11 @@ TEST_P(CvtColor, RGB2HSV)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HSV); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HSV);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -1621,13 +1505,11 @@ TEST_P(CvtColor, RGB2HSV4) ...@@ -1621,13 +1505,11 @@ TEST_P(CvtColor, RGB2HSV4)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HSV, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HSV, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -1650,13 +1532,11 @@ TEST_P(CvtColor, RGBA2HSV4) ...@@ -1650,13 +1532,11 @@ TEST_P(CvtColor, RGBA2HSV4)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HSV, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HSV, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -1678,13 +1558,11 @@ TEST_P(CvtColor, BGR2HLS) ...@@ -1678,13 +1558,11 @@ TEST_P(CvtColor, BGR2HLS)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2HLS); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2HLS);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -1701,13 +1579,11 @@ TEST_P(CvtColor, RGB2HLS) ...@@ -1701,13 +1579,11 @@ TEST_P(CvtColor, RGB2HLS)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HLS); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HLS);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -1724,13 +1600,11 @@ TEST_P(CvtColor, RGB2HLS4) ...@@ -1724,13 +1600,11 @@ TEST_P(CvtColor, RGB2HLS4)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HLS, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HLS, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -1753,13 +1627,11 @@ TEST_P(CvtColor, RGBA2HLS4) ...@@ -1753,13 +1627,11 @@ TEST_P(CvtColor, RGBA2HLS4)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HLS, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HLS, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -1782,13 +1654,11 @@ TEST_P(CvtColor, HSV2BGR) ...@@ -1782,13 +1654,11 @@ TEST_P(CvtColor, HSV2BGR)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2BGR); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2BGR);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -1805,13 +1675,11 @@ TEST_P(CvtColor, HSV2RGB) ...@@ -1805,13 +1675,11 @@ TEST_P(CvtColor, HSV2RGB)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2RGB); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2RGB);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -1833,13 +1701,11 @@ TEST_P(CvtColor, HSV42BGR) ...@@ -1833,13 +1701,11 @@ TEST_P(CvtColor, HSV42BGR)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2BGR); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2BGR);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -1861,13 +1727,11 @@ TEST_P(CvtColor, HSV42BGRA) ...@@ -1861,13 +1727,11 @@ TEST_P(CvtColor, HSV42BGRA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2BGR, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2BGR, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -1884,13 +1748,11 @@ TEST_P(CvtColor, HLS2BGR) ...@@ -1884,13 +1748,11 @@ TEST_P(CvtColor, HLS2BGR)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2BGR); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2BGR);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -1907,13 +1769,11 @@ TEST_P(CvtColor, HLS2RGB) ...@@ -1907,13 +1769,11 @@ TEST_P(CvtColor, HLS2RGB)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2RGB); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2RGB);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -1935,13 +1795,11 @@ TEST_P(CvtColor, HLS42RGB) ...@@ -1935,13 +1795,11 @@ TEST_P(CvtColor, HLS42RGB)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2RGB); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2RGB);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -1963,13 +1821,11 @@ TEST_P(CvtColor, HLS42RGBA) ...@@ -1963,13 +1821,11 @@ TEST_P(CvtColor, HLS42RGBA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2RGB, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2RGB, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -1985,13 +1841,11 @@ TEST_P(CvtColor, BGR2HSV_FULL) ...@@ -1985,13 +1841,11 @@ TEST_P(CvtColor, BGR2HSV_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2HSV_FULL); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2HSV_FULL);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -2008,13 +1862,11 @@ TEST_P(CvtColor, RGB2HSV_FULL) ...@@ -2008,13 +1862,11 @@ TEST_P(CvtColor, RGB2HSV_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HSV_FULL); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HSV_FULL);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -2031,13 +1883,11 @@ TEST_P(CvtColor, RGB2HSV4_FULL) ...@@ -2031,13 +1883,11 @@ TEST_P(CvtColor, RGB2HSV4_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HSV_FULL, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HSV_FULL, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -2060,13 +1910,11 @@ TEST_P(CvtColor, RGBA2HSV4_FULL) ...@@ -2060,13 +1910,11 @@ TEST_P(CvtColor, RGBA2HSV4_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HSV_FULL, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HSV_FULL, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -2088,13 +1936,11 @@ TEST_P(CvtColor, BGR2HLS_FULL) ...@@ -2088,13 +1936,11 @@ TEST_P(CvtColor, BGR2HLS_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2HLS_FULL); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2HLS_FULL);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -2111,13 +1957,11 @@ TEST_P(CvtColor, RGB2HLS_FULL) ...@@ -2111,13 +1957,11 @@ TEST_P(CvtColor, RGB2HLS_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HLS_FULL); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HLS_FULL);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -2134,13 +1978,11 @@ TEST_P(CvtColor, RGB2HLS4_FULL) ...@@ -2134,13 +1978,11 @@ TEST_P(CvtColor, RGB2HLS4_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HLS_FULL, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HLS_FULL, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -2163,13 +2005,11 @@ TEST_P(CvtColor, RGBA2HLS4_FULL) ...@@ -2163,13 +2005,11 @@ TEST_P(CvtColor, RGBA2HLS4_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HLS_FULL, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2HLS_FULL, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -2192,13 +2032,11 @@ TEST_P(CvtColor, HSV2BGR_FULL) ...@@ -2192,13 +2032,11 @@ TEST_P(CvtColor, HSV2BGR_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2BGR_FULL); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2BGR_FULL);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -2215,13 +2053,11 @@ TEST_P(CvtColor, HSV2RGB_FULL) ...@@ -2215,13 +2053,11 @@ TEST_P(CvtColor, HSV2RGB_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2RGB_FULL); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2RGB_FULL);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -2243,13 +2079,11 @@ TEST_P(CvtColor, HSV42RGB_FULL) ...@@ -2243,13 +2079,11 @@ TEST_P(CvtColor, HSV42RGB_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2RGB_FULL); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2RGB_FULL);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -2271,13 +2105,11 @@ TEST_P(CvtColor, HSV42RGBA_FULL) ...@@ -2271,13 +2105,11 @@ TEST_P(CvtColor, HSV42RGBA_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2RGB_FULL, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HSV2RGB_FULL, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -2294,13 +2126,11 @@ TEST_P(CvtColor, HLS2BGR_FULL) ...@@ -2294,13 +2126,11 @@ TEST_P(CvtColor, HLS2BGR_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2BGR_FULL); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2BGR_FULL);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -2317,13 +2147,11 @@ TEST_P(CvtColor, HLS2RGB_FULL) ...@@ -2317,13 +2147,11 @@ TEST_P(CvtColor, HLS2RGB_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2RGB_FULL); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2RGB_FULL);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -2345,13 +2173,11 @@ TEST_P(CvtColor, HLS42RGB_FULL) ...@@ -2345,13 +2173,11 @@ TEST_P(CvtColor, HLS42RGB_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2RGB_FULL); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2RGB_FULL);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -2373,13 +2199,11 @@ TEST_P(CvtColor, HLS42RGBA_FULL) ...@@ -2373,13 +2199,11 @@ TEST_P(CvtColor, HLS42RGBA_FULL)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2RGB_FULL, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_HLS2RGB_FULL, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1); EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);
} }
...@@ -2392,13 +2216,11 @@ TEST_P(CvtColor, BGR2YUV) ...@@ -2392,13 +2216,11 @@ TEST_P(CvtColor, BGR2YUV)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2YUV); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2YUV);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -2412,13 +2234,11 @@ TEST_P(CvtColor, RGB2YUV) ...@@ -2412,13 +2234,11 @@ TEST_P(CvtColor, RGB2YUV)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2YUV); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2YUV);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -2432,13 +2252,11 @@ TEST_P(CvtColor, YUV2BGR) ...@@ -2432,13 +2252,11 @@ TEST_P(CvtColor, YUV2BGR)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YUV2BGR); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YUV2BGR);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -2457,13 +2275,11 @@ TEST_P(CvtColor, YUV42BGR) ...@@ -2457,13 +2275,11 @@ TEST_P(CvtColor, YUV42BGR)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YUV2BGR); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YUV2BGR);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -2482,13 +2298,11 @@ TEST_P(CvtColor, YUV42BGRA) ...@@ -2482,13 +2298,11 @@ TEST_P(CvtColor, YUV42BGRA)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YUV2BGR, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YUV2BGR, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -2502,13 +2316,11 @@ TEST_P(CvtColor, YUV2RGB) ...@@ -2502,13 +2316,11 @@ TEST_P(CvtColor, YUV2RGB)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YUV2RGB); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_YUV2RGB);
gpuRes.download(dst); gpuRes.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5); EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);
} }
...@@ -2521,13 +2333,11 @@ TEST_P(CvtColor, BGR2YUV4) ...@@ -2521,13 +2333,11 @@ TEST_P(CvtColor, BGR2YUV4)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2YUV, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_BGR2YUV, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -2547,13 +2357,11 @@ TEST_P(CvtColor, RGBA2YUV4) ...@@ -2547,13 +2357,11 @@ TEST_P(CvtColor, RGBA2YUV4)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuRes;
cv::gpu::GpuMat gpuRes;
cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2YUV, 4); cv::gpu::cvtColor(loadMat(src, useRoi), gpuRes, cv::COLOR_RGB2YUV, 4);
gpuRes.download(dst); gpuRes.download(dst);
);
ASSERT_EQ(4, dst.channels()); ASSERT_EQ(4, dst.channels());
...@@ -2617,16 +2425,14 @@ TEST_P(HistEven, Accuracy) ...@@ -2617,16 +2425,14 @@ TEST_P(HistEven, Accuracy)
{ {
cv::Mat hist; cv::Mat hist;
ASSERT_NO_THROW( std::vector<cv::gpu::GpuMat> srcs;
std::vector<cv::gpu::GpuMat> srcs; cv::gpu::split(loadMat(hsv), srcs);
cv::gpu::split(loadMat(hsv), srcs);
cv::gpu::GpuMat gpuHist; cv::gpu::GpuMat gpuHist;
cv::gpu::histEven(srcs[0], gpuHist, hbins, (int)hranges[0], (int)hranges[1]); cv::gpu::histEven(srcs[0], gpuHist, hbins, (int)hranges[0], (int)hranges[1]);
gpuHist.download(hist); gpuHist.download(hist);
);
EXPECT_MAT_NEAR(hist_gold, hist, 0.0); EXPECT_MAT_NEAR(hist_gold, hist, 0.0);
} }
...@@ -2671,13 +2477,11 @@ TEST_P(CalcHist, Accuracy) ...@@ -2671,13 +2477,11 @@ TEST_P(CalcHist, Accuracy)
{ {
cv::Mat hist; cv::Mat hist;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuHist;
cv::gpu::GpuMat gpuHist;
cv::gpu::calcHist(loadMat(src), gpuHist); cv::gpu::calcHist(loadMat(src), gpuHist);
gpuHist.download(hist); gpuHist.download(hist);
);
EXPECT_MAT_NEAR(hist_gold, hist, 0.0); EXPECT_MAT_NEAR(hist_gold, hist, 0.0);
} }
...@@ -2712,13 +2516,11 @@ TEST_P(EqualizeHist, Accuracy) ...@@ -2712,13 +2516,11 @@ TEST_P(EqualizeHist, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpuDst;
cv::gpu::GpuMat gpuDst;
cv::gpu::equalizeHist(loadMat(src), gpuDst); cv::gpu::equalizeHist(loadMat(src), gpuDst);
gpuDst.download(dst); gpuDst.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 3.0); EXPECT_MAT_NEAR(dst_gold, dst, 3.0);
} }
...@@ -2768,11 +2570,11 @@ TEST_P(CornerHarris, Accuracy) ...@@ -2768,11 +2570,11 @@ TEST_P(CornerHarris, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::cornerHarris(loadMat(src), dev_dst, blockSize, apertureSize, k, borderType); cv::gpu::cornerHarris(loadMat(src), dev_dst, blockSize, apertureSize, k, borderType);
dev_dst.download(dst);
); dev_dst.download(dst);
EXPECT_MAT_NEAR(dst_gold, dst, 0.02); EXPECT_MAT_NEAR(dst_gold, dst, 0.02);
} }
...@@ -2823,11 +2625,11 @@ TEST_P(CornerMinEigen, Accuracy) ...@@ -2823,11 +2625,11 @@ TEST_P(CornerMinEigen, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::cornerMinEigenVal(loadMat(src), dev_dst, blockSize, apertureSize, borderType); cv::gpu::cornerMinEigenVal(loadMat(src), dev_dst, blockSize, apertureSize, borderType);
dev_dst.download(dst);
); dev_dst.download(dst);
EXPECT_MAT_NEAR(dst_gold, dst, 0.02); EXPECT_MAT_NEAR(dst_gold, dst, 0.02);
} }
...@@ -2865,11 +2667,11 @@ TEST_P(ColumnSum, Accuracy) ...@@ -2865,11 +2667,11 @@ TEST_P(ColumnSum, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::columnSum(loadMat(src), dev_dst); cv::gpu::columnSum(loadMat(src), dev_dst);
dev_dst.download(dst);
); dev_dst.download(dst);
for (int j = 0; j < src.cols; ++j) for (int j = 0; j < src.cols; ++j)
{ {
...@@ -2927,11 +2729,7 @@ PARAM_TEST_CASE(Norm, cv::gpu::DeviceInfo, MatType, NormCode, UseRoi) ...@@ -2927,11 +2729,7 @@ PARAM_TEST_CASE(Norm, cv::gpu::DeviceInfo, MatType, NormCode, UseRoi)
TEST_P(Norm, Accuracy) TEST_P(Norm, Accuracy)
{ {
double res; double res = cv::gpu::norm(loadMat(src, useRoi), normType);
ASSERT_NO_THROW(
res = cv::gpu::norm(loadMat(src, useRoi), normType);
);
ASSERT_NEAR(res, gold, 0.5); ASSERT_NEAR(res, gold, 0.5);
} }
...@@ -2979,11 +2777,11 @@ TEST_P(ReprojectImageTo3D, Accuracy) ...@@ -2979,11 +2777,11 @@ TEST_P(ReprojectImageTo3D, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat gpures;
cv::gpu::GpuMat gpures;
cv::gpu::reprojectImageTo3D(loadMat(disp, useRoi), gpures, Q); cv::gpu::reprojectImageTo3D(loadMat(disp, useRoi), gpures, Q);
gpures.download(dst);
); gpures.download(dst);
ASSERT_EQ(dst_gold.size(), dst.size()); ASSERT_EQ(dst_gold.size(), dst.size());
...@@ -3047,11 +2845,11 @@ TEST_P(MeanShift, Filtering) ...@@ -3047,11 +2845,11 @@ TEST_P(MeanShift, Filtering)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::meanShiftFiltering(loadMat(rgba), dev_dst, spatialRad, colorRad); cv::gpu::meanShiftFiltering(loadMat(rgba), dev_dst, spatialRad, colorRad);
dev_dst.download(dst);
); dev_dst.download(dst);
ASSERT_EQ(CV_8UC4, dst.type()); ASSERT_EQ(CV_8UC4, dst.type());
...@@ -3081,18 +2879,16 @@ TEST_P(MeanShift, Proc) ...@@ -3081,18 +2879,16 @@ TEST_P(MeanShift, Proc)
cv::Mat rmap; cv::Mat rmap;
cv::Mat spmap; cv::Mat spmap;
ASSERT_NO_THROW( cv::gpu::GpuMat d_rmap_filtered;
cv::gpu::GpuMat d_rmap_filtered; cv::gpu::meanShiftFiltering(loadMat(rgba), d_rmap_filtered, spatialRad, colorRad);
cv::gpu::meanShiftFiltering(loadMat(rgba), d_rmap_filtered, spatialRad, colorRad);
cv::gpu::GpuMat d_rmap; cv::gpu::GpuMat d_rmap;
cv::gpu::GpuMat d_spmap; cv::gpu::GpuMat d_spmap;
cv::gpu::meanShiftProc(loadMat(rgba), d_rmap, d_spmap, spatialRad, colorRad); cv::gpu::meanShiftProc(loadMat(rgba), d_rmap, d_spmap, spatialRad, colorRad);
d_rmap_filtered.download(rmap_filtered); d_rmap_filtered.download(rmap_filtered);
d_rmap.download(rmap); d_rmap.download(rmap);
d_spmap.download(spmap); d_spmap.download(spmap);
);
ASSERT_EQ(CV_8UC4, rmap.type()); ASSERT_EQ(CV_8UC4, rmap.type());
...@@ -3139,9 +2935,7 @@ TEST_P(MeanShiftSegmentation, Regression) ...@@ -3139,9 +2935,7 @@ TEST_P(MeanShiftSegmentation, Regression)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::meanShiftSegmentation(loadMat(rgba), dst, 10, 10, minsize);
cv::gpu::meanShiftSegmentation(loadMat(rgba), dst, 10, 10, minsize);
);
cv::Mat dst_rgb; cv::Mat dst_rgb;
cv::cvtColor(dst, dst_rgb, CV_BGRA2BGR); cv::cvtColor(dst, dst_rgb, CV_BGRA2BGR);
...@@ -3193,11 +2987,11 @@ TEST_P(MatchTemplate8U, Regression) ...@@ -3193,11 +2987,11 @@ TEST_P(MatchTemplate8U, Regression)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::matchTemplate(loadMat(image), loadMat(templ), dev_dst, method); cv::gpu::matchTemplate(loadMat(image), loadMat(templ), dev_dst, method);
dev_dst.download(dst);
); dev_dst.download(dst);
EXPECT_MAT_NEAR(dst_gold, dst, 5 * h * w * 1e-4); EXPECT_MAT_NEAR(dst_gold, dst, 5 * h * w * 1e-4);
} }
...@@ -3245,11 +3039,11 @@ TEST_P(MatchTemplate32F, Regression) ...@@ -3245,11 +3039,11 @@ TEST_P(MatchTemplate32F, Regression)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::matchTemplate(loadMat(image), loadMat(templ), dev_dst, method); cv::gpu::matchTemplate(loadMat(image), loadMat(templ), dev_dst, method);
dev_dst.download(dst);
); dev_dst.download(dst);
EXPECT_MAT_NEAR(dst_gold, dst, 0.25 * h * w * 1e-4); EXPECT_MAT_NEAR(dst_gold, dst, 0.25 * h * w * 1e-4);
} }
...@@ -3286,11 +3080,11 @@ TEST_P(MatchTemplateBlackSource, Accuracy) ...@@ -3286,11 +3080,11 @@ TEST_P(MatchTemplateBlackSource, Accuracy)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
cv::gpu::matchTemplate(loadMat(image), loadMat(pattern), dev_dst, method); cv::gpu::matchTemplate(loadMat(image), loadMat(pattern), dev_dst, method);
dev_dst.download(dst);
); dev_dst.download(dst);
double maxValue; double maxValue;
cv::Point maxLoc; cv::Point maxLoc;
...@@ -3330,16 +3124,18 @@ TEST_P(MatchTemplate_CCOEF_NORMED, Accuracy) ...@@ -3330,16 +3124,18 @@ TEST_P(MatchTemplate_CCOEF_NORMED, Accuracy)
{ {
cv::Mat dstGold; cv::Mat dstGold;
cv::matchTemplate(image, pattern, dstGold, CV_TM_CCOEFF_NORMED); cv::matchTemplate(image, pattern, dstGold, CV_TM_CCOEFF_NORMED);
double minValGold, maxValGold; double minValGold, maxValGold;
cv::Point minLocGold, maxLocGold; cv::Point minLocGold, maxLocGold;
cv::minMaxLoc(dstGold, &minValGold, &maxValGold, &minLocGold, &maxLocGold); cv::minMaxLoc(dstGold, &minValGold, &maxValGold, &minLocGold, &maxLocGold);
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW(
cv::gpu::GpuMat dev_dst; cv::gpu::GpuMat dev_dst;
cv::gpu::matchTemplate(loadMat(image), loadMat(pattern), dev_dst, CV_TM_CCOEFF_NORMED);
dev_dst.download(dst); cv::gpu::matchTemplate(loadMat(image), loadMat(pattern), dev_dst, CV_TM_CCOEFF_NORMED);
);
dev_dst.download(dst);
cv::Point minLoc, maxLoc; cv::Point minLoc, maxLoc;
double minVal, maxVal; double minVal, maxVal;
...@@ -3355,50 +3151,6 @@ INSTANTIATE_TEST_CASE_P(ImgProc, MatchTemplate_CCOEF_NORMED, Combine( ...@@ -3355,50 +3151,6 @@ INSTANTIATE_TEST_CASE_P(ImgProc, MatchTemplate_CCOEF_NORMED, Combine(
ALL_DEVICES, ALL_DEVICES,
Values(std::make_pair(std::string("matchtemplate/source-0.png"), std::string("matchtemplate/target-0.png"))))); Values(std::make_pair(std::string("matchtemplate/source-0.png"), std::string("matchtemplate/target-0.png")))));
PARAM_TEST_CASE(MatchTemplate_CCOEF_NORMED_NoThrow, cv::gpu::DeviceInfo, std::pair<std::string, std::string>)
{
cv::gpu::DeviceInfo devInfo;
std::string imageName;
std::string patternName;
cv::Mat image, pattern;
virtual void SetUp()
{
devInfo = GET_PARAM(0);
imageName = GET_PARAM(1).first;
patternName = GET_PARAM(1).second;
image = readImage(imageName);
ASSERT_FALSE(image.empty());
pattern = readImage(patternName);
ASSERT_FALSE(pattern.empty());
}
};
TEST_P(MatchTemplate_CCOEF_NORMED_NoThrow, NoThrow)
{
cv::Mat dstGold;
cv::matchTemplate(image, pattern, dstGold, CV_TM_CCOEFF_NORMED);
double minValGold, maxValGold;
cv::Point minLocGold, maxLocGold;
cv::minMaxLoc(dstGold, &minValGold, &maxValGold, &minLocGold, &maxLocGold);
cv::Mat dst;
ASSERT_NO_THROW(
cv::gpu::GpuMat dev_dst;
cv::gpu::matchTemplate(loadMat(image), loadMat(pattern), dev_dst, CV_TM_CCOEFF_NORMED);
dev_dst.download(dst);
);
}
INSTANTIATE_TEST_CASE_P(ImgProc, MatchTemplate_CCOEF_NORMED_NoThrow, Combine(
ALL_DEVICES,
Values(std::make_pair(std::string("matchtemplate/source-1.png"), std::string("matchtemplate/target-1.png")))));
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// MulSpectrums // MulSpectrums
...@@ -3430,13 +3182,11 @@ TEST_P(MulSpectrums, Simple) ...@@ -3430,13 +3182,11 @@ TEST_P(MulSpectrums, Simple)
cv::Mat c; cv::Mat c;
ASSERT_NO_THROW( cv::gpu::GpuMat d_c;
cv::gpu::GpuMat d_c;
cv::gpu::mulSpectrums(loadMat(a), loadMat(b), d_c, flag, false); cv::gpu::mulSpectrums(loadMat(a), loadMat(b), d_c, flag, false);
d_c.download(c); d_c.download(c);
);
EXPECT_MAT_NEAR(c_gold, c, 1e-4); EXPECT_MAT_NEAR(c_gold, c, 1e-4);
} }
...@@ -3451,13 +3201,11 @@ TEST_P(MulSpectrums, Scaled) ...@@ -3451,13 +3201,11 @@ TEST_P(MulSpectrums, Scaled)
cv::Mat c; cv::Mat c;
ASSERT_NO_THROW( cv::gpu::GpuMat d_c;
cv::gpu::GpuMat d_c;
cv::gpu::mulAndScaleSpectrums(loadMat(a), loadMat(b), d_c, flag, scale, false); cv::gpu::mulAndScaleSpectrums(loadMat(a), loadMat(b), d_c, flag, scale, false);
d_c.download(c); d_c.download(c);
);
EXPECT_MAT_NEAR(c_gold, c, 1e-4); EXPECT_MAT_NEAR(c_gold, c, 1e-4);
} }
...@@ -3514,26 +3262,24 @@ TEST_P(Dft, C2C) ...@@ -3514,26 +3262,24 @@ TEST_P(Dft, C2C)
int cols = 2 + rng.next() % 100, rows = 2 + rng.next() % 100; int cols = 2 + rng.next() % 100, rows = 2 + rng.next() % 100;
ASSERT_NO_THROW( for (int i = 0; i < 2; ++i)
for (int i = 0; i < 2; ++i) {
{ bool inplace = i != 0;
bool inplace = i != 0;
testC2C("no flags", cols, rows, 0, inplace);
testC2C("no flags", cols, rows, 0, inplace); testC2C("no flags 0 1", cols, rows + 1, 0, inplace);
testC2C("no flags 0 1", cols, rows + 1, 0, inplace); testC2C("no flags 1 0", cols, rows + 1, 0, inplace);
testC2C("no flags 1 0", cols, rows + 1, 0, inplace); testC2C("no flags 1 1", cols + 1, rows, 0, inplace);
testC2C("no flags 1 1", cols + 1, rows, 0, inplace); testC2C("DFT_INVERSE", cols, rows, cv::DFT_INVERSE, inplace);
testC2C("DFT_INVERSE", cols, rows, cv::DFT_INVERSE, inplace); testC2C("DFT_ROWS", cols, rows, cv::DFT_ROWS, inplace);
testC2C("DFT_ROWS", cols, rows, cv::DFT_ROWS, inplace); testC2C("single col", 1, rows, 0, inplace);
testC2C("single col", 1, rows, 0, inplace); testC2C("single row", cols, 1, 0, inplace);
testC2C("single row", cols, 1, 0, inplace); testC2C("single col inversed", 1, rows, cv::DFT_INVERSE, inplace);
testC2C("single col inversed", 1, rows, cv::DFT_INVERSE, inplace); testC2C("single row inversed", cols, 1, cv::DFT_INVERSE, inplace);
testC2C("single row inversed", cols, 1, cv::DFT_INVERSE, inplace); testC2C("single row DFT_ROWS", cols, 1, cv::DFT_ROWS, inplace);
testC2C("single row DFT_ROWS", cols, 1, cv::DFT_ROWS, inplace); testC2C("size 1 2", 1, 2, 0, inplace);
testC2C("size 1 2", 1, 2, 0, inplace); testC2C("size 2 1", 2, 1, 0, inplace);
testC2C("size 2 1", 2, 1, 0, inplace); }
}
);
} }
void testR2CThenC2R(const std::string& hint, int cols, int rows, bool inplace) void testR2CThenC2R(const std::string& hint, int cols, int rows, bool inplace)
...@@ -3580,23 +3326,21 @@ TEST_P(Dft, R2CThenC2R) ...@@ -3580,23 +3326,21 @@ TEST_P(Dft, R2CThenC2R)
int cols = 2 + rng.next() % 100, rows = 2 + rng.next() % 100; int cols = 2 + rng.next() % 100, rows = 2 + rng.next() % 100;
ASSERT_NO_THROW( testR2CThenC2R("sanity", cols, rows, false);
testR2CThenC2R("sanity", cols, rows, false); testR2CThenC2R("sanity 0 1", cols, rows + 1, false);
testR2CThenC2R("sanity 0 1", cols, rows + 1, false); testR2CThenC2R("sanity 1 0", cols + 1, rows, false);
testR2CThenC2R("sanity 1 0", cols + 1, rows, false); testR2CThenC2R("sanity 1 1", cols + 1, rows + 1, false);
testR2CThenC2R("sanity 1 1", cols + 1, rows + 1, false); testR2CThenC2R("single col", 1, rows, false);
testR2CThenC2R("single col", 1, rows, false); testR2CThenC2R("single col 1", 1, rows + 1, false);
testR2CThenC2R("single col 1", 1, rows + 1, false); testR2CThenC2R("single row", cols, 1, false);
testR2CThenC2R("single row", cols, 1, false); testR2CThenC2R("single row 1", cols + 1, 1, false);
testR2CThenC2R("single row 1", cols + 1, 1, false);
testR2CThenC2R("sanity", cols, rows, true);
testR2CThenC2R("sanity", cols, rows, true); testR2CThenC2R("sanity 0 1", cols, rows + 1, true);
testR2CThenC2R("sanity 0 1", cols, rows + 1, true); testR2CThenC2R("sanity 1 0", cols + 1, rows, true);
testR2CThenC2R("sanity 1 0", cols + 1, rows, true); testR2CThenC2R("sanity 1 1", cols + 1, rows + 1, true);
testR2CThenC2R("sanity 1 1", cols + 1, rows + 1, true); testR2CThenC2R("single row", cols, 1, true);
testR2CThenC2R("single row", cols, 1, true); testR2CThenC2R("single row 1", cols + 1, 1, true);
testR2CThenC2R("single row 1", cols + 1, 1, true);
);
} }
INSTANTIATE_TEST_CASE_P(ImgProc, Dft, ALL_DEVICES); INSTANTIATE_TEST_CASE_P(ImgProc, Dft, ALL_DEVICES);
...@@ -3672,13 +3416,11 @@ TEST_P(Blend, Accuracy) ...@@ -3672,13 +3416,11 @@ TEST_P(Blend, Accuracy)
{ {
cv::Mat result; cv::Mat result;
ASSERT_NO_THROW( cv::gpu::GpuMat d_result;
cv::gpu::GpuMat d_result;
cv::gpu::blendLinear(loadMat(img1, useRoi), loadMat(img2, useRoi), loadMat(weights1, useRoi), loadMat(weights2, useRoi), d_result); cv::gpu::blendLinear(loadMat(img1, useRoi), loadMat(img2, useRoi), loadMat(weights1, useRoi), loadMat(weights2, useRoi), d_result);
d_result.download(result); d_result.download(result);
);
EXPECT_MAT_NEAR(result_gold, result, CV_MAT_DEPTH(type) == CV_8U ? 1.0 : 1e-5); EXPECT_MAT_NEAR(result_gold, result, CV_MAT_DEPTH(type) == CV_8U ? 1.0 : 1e-5);
} }
...@@ -3724,13 +3466,11 @@ TEST_P(PyrDown, Accuracy) ...@@ -3724,13 +3466,11 @@ TEST_P(PyrDown, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat d_dst;
cv::gpu::GpuMat d_dst;
cv::gpu::pyrDown(loadMat(src, useRoi), d_dst);
cv::gpu::pyrDown(loadMat(src, useRoi), d_dst);
d_dst.download(dst);
d_dst.download(dst);
);
ASSERT_EQ(dst_gold.cols, dst.cols); ASSERT_EQ(dst_gold.cols, dst.cols);
ASSERT_EQ(dst_gold.rows, dst.rows); ASSERT_EQ(dst_gold.rows, dst.rows);
...@@ -3781,13 +3521,11 @@ TEST_P(PyrUp, Accuracy) ...@@ -3781,13 +3521,11 @@ TEST_P(PyrUp, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat d_dst;
cv::gpu::GpuMat d_dst;
cv::gpu::pyrUp(loadMat(src, useRoi), d_dst);
cv::gpu::pyrUp(loadMat(src, useRoi), d_dst);
d_dst.download(dst);
d_dst.download(dst);
);
ASSERT_EQ(dst_gold.cols, dst.cols); ASSERT_EQ(dst_gold.cols, dst.cols);
ASSERT_EQ(dst_gold.rows, dst.rows); ASSERT_EQ(dst_gold.rows, dst.rows);
...@@ -3842,13 +3580,11 @@ TEST_P(Canny, Accuracy) ...@@ -3842,13 +3580,11 @@ TEST_P(Canny, Accuracy)
{ {
cv::Mat edges; cv::Mat edges;
ASSERT_NO_THROW( cv::gpu::GpuMat d_edges;
cv::gpu::GpuMat d_edges;
cv::gpu::Canny(loadMat(img, useRoi), d_edges, low_thresh, high_thresh, apperture_size, L2gradient); cv::gpu::Canny(loadMat(img, useRoi), d_edges, low_thresh, high_thresh, apperture_size, L2gradient);
d_edges.download(edges); d_edges.download(edges);
);
EXPECT_MAT_SIMILAR(edges_gold, edges, 1.0); EXPECT_MAT_SIMILAR(edges_gold, edges, 1.0);
} }
...@@ -3895,13 +3631,11 @@ TEST_P(Convolve, Accuracy) ...@@ -3895,13 +3631,11 @@ TEST_P(Convolve, Accuracy)
{ {
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat d_dst;
cv::gpu::GpuMat d_dst;
cv::gpu::convolve(loadMat(src), loadMat(kernel), d_dst); cv::gpu::convolve(loadMat(src), loadMat(kernel), d_dst);
d_dst.download(dst); d_dst.download(dst);
);
EXPECT_MAT_NEAR(dst, dst_gold, 1e-2); EXPECT_MAT_NEAR(dst, dst_gold, 1e-2);
} }
......
...@@ -90,17 +90,15 @@ TEST_P(Merge, Accuracy) ...@@ -90,17 +90,15 @@ TEST_P(Merge, Accuracy)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( std::vector<cv::gpu::GpuMat> dev_src;
std::vector<cv::gpu::GpuMat> dev_src; cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
for (size_t i = 0; i < src.size(); ++i) for (size_t i = 0; i < src.size(); ++i)
dev_src.push_back(loadMat(src[i], useRoi)); dev_src.push_back(loadMat(src[i], useRoi));
cv::gpu::merge(dev_src, dev_dst); cv::gpu::merge(dev_src, dev_dst);
dev_dst.download(dst); dev_dst.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -149,16 +147,14 @@ TEST_P(Split, Accuracy) ...@@ -149,16 +147,14 @@ TEST_P(Split, Accuracy)
std::vector<cv::Mat> dst; std::vector<cv::Mat> dst;
ASSERT_NO_THROW( std::vector<cv::gpu::GpuMat> dev_dst;
std::vector<cv::gpu::GpuMat> dev_dst;
cv::gpu::split(loadMat(src, useRoi), dev_dst); cv::gpu::split(loadMat(src, useRoi), dev_dst);
dst.resize(dev_dst.size()); dst.resize(dev_dst.size());
for (size_t i = 0; i < dev_dst.size(); ++i) for (size_t i = 0; i < dev_dst.size(); ++i)
dev_dst[i].download(dst[i]); dev_dst[i].download(dst[i]);
);
ASSERT_EQ(dst_gold.size(), dst.size()); ASSERT_EQ(dst_gold.size(), dst.size());
...@@ -207,15 +203,13 @@ TEST_P(SplitMerge, Consistency) ...@@ -207,15 +203,13 @@ TEST_P(SplitMerge, Consistency)
cv::Mat final; cv::Mat final;
ASSERT_NO_THROW( std::vector<cv::gpu::GpuMat> dev_vec;
std::vector<cv::gpu::GpuMat> dev_vec; cv::gpu::GpuMat dev_final;
cv::gpu::GpuMat dev_final;
cv::gpu::split(loadMat(orig), dev_vec); cv::gpu::split(loadMat(orig), dev_vec);
cv::gpu::merge(dev_vec, dev_final); cv::gpu::merge(dev_vec, dev_final);
dev_final.download(final); dev_final.download(final);
);
EXPECT_MAT_NEAR(orig, final, 0.0); EXPECT_MAT_NEAR(orig, final, 0.0);
} }
...@@ -261,14 +255,12 @@ TEST_P(SetTo, Zero) ...@@ -261,14 +255,12 @@ TEST_P(SetTo, Zero)
cv::Mat mat; cv::Mat mat;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_mat = loadMat(mat_gold, useRoi);
cv::gpu::GpuMat dev_mat = loadMat(mat_gold, useRoi);
mat_gold.setTo(zero); mat_gold.setTo(zero);
dev_mat.setTo(zero); dev_mat.setTo(zero);
dev_mat.download(mat); dev_mat.download(mat);
);
EXPECT_MAT_NEAR(mat_gold, mat, 0.0); EXPECT_MAT_NEAR(mat_gold, mat, 0.0);
} }
...@@ -282,14 +274,12 @@ TEST_P(SetTo, SameVal) ...@@ -282,14 +274,12 @@ TEST_P(SetTo, SameVal)
cv::Mat mat; cv::Mat mat;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_mat(mat_gold);
cv::gpu::GpuMat dev_mat(mat_gold);
mat_gold.setTo(s); mat_gold.setTo(s);
dev_mat.setTo(s); dev_mat.setTo(s);
dev_mat.download(mat); dev_mat.download(mat);
);
EXPECT_MAT_NEAR(mat_gold, mat, 0.0); EXPECT_MAT_NEAR(mat_gold, mat, 0.0);
} }
...@@ -303,14 +293,12 @@ TEST_P(SetTo, DifferentVal) ...@@ -303,14 +293,12 @@ TEST_P(SetTo, DifferentVal)
cv::Mat mat; cv::Mat mat;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_mat = loadMat(mat_gold, useRoi);
cv::gpu::GpuMat dev_mat = loadMat(mat_gold, useRoi);
mat_gold.setTo(s); mat_gold.setTo(s);
dev_mat.setTo(s); dev_mat.setTo(s);
dev_mat.download(mat); dev_mat.download(mat);
);
EXPECT_MAT_NEAR(mat_gold, mat, 0.0); EXPECT_MAT_NEAR(mat_gold, mat, 0.0);
} }
...@@ -327,14 +315,12 @@ TEST_P(SetTo, Masked) ...@@ -327,14 +315,12 @@ TEST_P(SetTo, Masked)
cv::Mat mat; cv::Mat mat;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_mat = loadMat(mat_gold, useRoi);
cv::gpu::GpuMat dev_mat = loadMat(mat_gold, useRoi);
mat_gold.setTo(s, mask); mat_gold.setTo(s, mask);
dev_mat.setTo(s, loadMat(mask, useRoi)); dev_mat.setTo(s, loadMat(mask, useRoi));
dev_mat.download(mat); dev_mat.download(mat);
);
EXPECT_MAT_NEAR(mat_gold, mat, 0.0); EXPECT_MAT_NEAR(mat_gold, mat, 0.0);
} }
...@@ -382,14 +368,12 @@ TEST_P(CopyTo, WithoutMask) ...@@ -382,14 +368,12 @@ TEST_P(CopyTo, WithoutMask)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_src = loadMat(src, useRoi);
cv::gpu::GpuMat dev_src = loadMat(src, useRoi); cv::gpu::GpuMat dev_dst = loadMat(src, useRoi);
cv::gpu::GpuMat dev_dst = loadMat(src, useRoi);
dev_src.copyTo(dev_dst); dev_src.copyTo(dev_dst);
dev_dst.download(dst); dev_dst.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -410,14 +394,12 @@ TEST_P(CopyTo, Masked) ...@@ -410,14 +394,12 @@ TEST_P(CopyTo, Masked)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_src = loadMat(src, useRoi);
cv::gpu::GpuMat dev_src = loadMat(src, useRoi); cv::gpu::GpuMat dev_dst = loadMat(zeroMat, useRoi);
cv::gpu::GpuMat dev_dst = loadMat(zeroMat, useRoi);
dev_src.copyTo(dev_dst, loadMat(mask, useRoi)); dev_src.copyTo(dev_dst, loadMat(mask, useRoi));
dev_dst.download(dst); dev_dst.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -467,14 +449,12 @@ TEST_P(ConvertTo, WithoutScaling) ...@@ -467,14 +449,12 @@ TEST_P(ConvertTo, WithoutScaling)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_src = loadMat(src, useRoi);
cv::gpu::GpuMat dev_src = loadMat(src, useRoi); cv::gpu::GpuMat dev_dst;
cv::gpu::GpuMat dev_dst;
dev_src.convertTo(dev_dst, depth2); dev_src.convertTo(dev_dst, depth2);
dev_dst.download(dst); dev_dst.download(dst);
);
EXPECT_MAT_NEAR(dst_gold, dst, 0.0); EXPECT_MAT_NEAR(dst_gold, dst, 0.0);
} }
...@@ -494,15 +474,13 @@ TEST_P(ConvertTo, WithScaling) ...@@ -494,15 +474,13 @@ TEST_P(ConvertTo, WithScaling)
cv::Mat dst; cv::Mat dst;
ASSERT_NO_THROW( cv::gpu::GpuMat dev_src = loadMat(src, useRoi);
cv::gpu::GpuMat dev_src = loadMat(src, useRoi);
cv::gpu::GpuMat dev_dst; cv::gpu::GpuMat dev_dst;
dev_src.convertTo(dev_dst, depth2, a, b); dev_src.convertTo(dev_dst, depth2, a, b);
dev_dst.download(dst); dev_dst.download(dst);
);
const double eps = depth2 < CV_32F ? 1 : 1e-4; const double eps = depth2 < CV_32F ? 1 : 1e-4;
...@@ -549,30 +527,28 @@ TEST_P(Async, Accuracy) ...@@ -549,30 +527,28 @@ TEST_P(Async, Accuracy)
{ {
cv::Mat dst0, dst1; cv::Mat dst0, dst1;
ASSERT_NO_THROW( cv::gpu::CudaMem cpudst0;
cv::gpu::CudaMem cpudst0; cv::gpu::CudaMem cpudst1;
cv::gpu::CudaMem cpudst1;
cv::gpu::GpuMat gpusrc; cv::gpu::GpuMat gpusrc;
cv::gpu::GpuMat gpudst0; cv::gpu::GpuMat gpudst0;
cv::gpu::GpuMat gpudst1(src.rows, src.cols, CV_8UC1); cv::gpu::GpuMat gpudst1(src.rows, src.cols, CV_8UC1);
cv::gpu::Stream stream0; cv::gpu::Stream stream0;
cv::gpu::Stream stream1; cv::gpu::Stream stream1;
stream0.enqueueUpload(src, gpusrc); stream0.enqueueUpload(src, gpusrc);
cv::gpu::bitwise_not(gpusrc, gpudst0, cv::gpu::GpuMat(), stream0); cv::gpu::bitwise_not(gpusrc, gpudst0, cv::gpu::GpuMat(), stream0);
stream0.enqueueDownload(gpudst0, cpudst0); stream0.enqueueDownload(gpudst0, cpudst0);
stream1.enqueueMemSet(gpudst1, cv::Scalar::all(128)); stream1.enqueueMemSet(gpudst1, cv::Scalar::all(128));
stream1.enqueueDownload(gpudst1, cpudst1); stream1.enqueueDownload(gpudst1, cpudst1);
stream0.waitForCompletion(); stream0.waitForCompletion();
stream1.waitForCompletion(); stream1.waitForCompletion();
dst0 = cpudst0.createMatHeader(); dst0 = cpudst0.createMatHeader();
dst1 = cpudst1.createMatHeader(); dst1 = cpudst1.createMatHeader();
);
EXPECT_MAT_NEAR(dst_gold0, dst0, 0.0); EXPECT_MAT_NEAR(dst_gold0, dst0, 0.0);
EXPECT_MAT_NEAR(dst_gold1, dst1, 0.0); EXPECT_MAT_NEAR(dst_gold1, dst1, 0.0);
......
...@@ -88,121 +88,77 @@ OutputLevel nvidiaTestOutputLevel = OutputLevelNone; ...@@ -88,121 +88,77 @@ OutputLevel nvidiaTestOutputLevel = OutputLevelNone;
TEST_P(NPPST, Integral) TEST_P(NPPST, Integral)
{ {
bool res; bool res = nvidia_NPPST_Integral_Image(path, nvidiaTestOutputLevel);
ASSERT_NO_THROW(
res = nvidia_NPPST_Integral_Image(path, nvidiaTestOutputLevel);
);
ASSERT_TRUE(res); ASSERT_TRUE(res);
} }
TEST_P(NPPST, SquaredIntegral) TEST_P(NPPST, SquaredIntegral)
{ {
bool res; bool res = nvidia_NPPST_Squared_Integral_Image(path, nvidiaTestOutputLevel);
ASSERT_NO_THROW(
res = nvidia_NPPST_Squared_Integral_Image(path, nvidiaTestOutputLevel);
);
ASSERT_TRUE(res); ASSERT_TRUE(res);
} }
TEST_P(NPPST, RectStdDev) TEST_P(NPPST, RectStdDev)
{ {
bool res; bool res = nvidia_NPPST_RectStdDev(path, nvidiaTestOutputLevel);
ASSERT_NO_THROW(
res = nvidia_NPPST_RectStdDev(path, nvidiaTestOutputLevel);
);
ASSERT_TRUE(res); ASSERT_TRUE(res);
} }
TEST_P(NPPST, Resize) TEST_P(NPPST, Resize)
{ {
bool res; bool res = nvidia_NPPST_Resize(path, nvidiaTestOutputLevel);
ASSERT_NO_THROW(
res = nvidia_NPPST_Resize(path, nvidiaTestOutputLevel);
);
ASSERT_TRUE(res); ASSERT_TRUE(res);
} }
TEST_P(NPPST, VectorOperations) TEST_P(NPPST, VectorOperations)
{ {
bool res; bool res = nvidia_NPPST_Vector_Operations(path, nvidiaTestOutputLevel);
ASSERT_NO_THROW(
res = nvidia_NPPST_Vector_Operations(path, nvidiaTestOutputLevel);
);
ASSERT_TRUE(res); ASSERT_TRUE(res);
} }
TEST_P(NPPST, Transpose) TEST_P(NPPST, Transpose)
{ {
bool res; bool res = nvidia_NPPST_Transpose(path, nvidiaTestOutputLevel);
ASSERT_NO_THROW(
res = nvidia_NPPST_Transpose(path, nvidiaTestOutputLevel);
);
ASSERT_TRUE(res); ASSERT_TRUE(res);
} }
TEST_P(NCV, VectorOperations) TEST_P(NCV, VectorOperations)
{ {
bool res; bool res = nvidia_NCV_Vector_Operations(path, nvidiaTestOutputLevel);
ASSERT_NO_THROW(
res = nvidia_NCV_Vector_Operations(path, nvidiaTestOutputLevel);
);
ASSERT_TRUE(res); ASSERT_TRUE(res);
} }
TEST_P(NCV, HaarCascadeLoader) TEST_P(NCV, HaarCascadeLoader)
{ {
bool res; bool res = nvidia_NCV_Haar_Cascade_Loader(path, nvidiaTestOutputLevel);
ASSERT_NO_THROW(
res = nvidia_NCV_Haar_Cascade_Loader(path, nvidiaTestOutputLevel);
);
ASSERT_TRUE(res); ASSERT_TRUE(res);
} }
TEST_P(NCV, HaarCascadeApplication) TEST_P(NCV, HaarCascadeApplication)
{ {
bool res; bool res = nvidia_NCV_Haar_Cascade_Application(path, nvidiaTestOutputLevel);
ASSERT_NO_THROW(
res = nvidia_NCV_Haar_Cascade_Application(path, nvidiaTestOutputLevel);
);
ASSERT_TRUE(res); ASSERT_TRUE(res);
} }
TEST_P(NCV, HypothesesFiltration) TEST_P(NCV, HypothesesFiltration)
{ {
bool res; bool res = nvidia_NCV_Hypotheses_Filtration(path, nvidiaTestOutputLevel);
ASSERT_NO_THROW(
res = nvidia_NCV_Hypotheses_Filtration(path, nvidiaTestOutputLevel);
);
ASSERT_TRUE(res); ASSERT_TRUE(res);
} }
TEST_P(NCV, Visualization) TEST_P(NCV, Visualization)
{ {
bool res; bool res = nvidia_NCV_Visualization(path, nvidiaTestOutputLevel);
ASSERT_NO_THROW(
res = nvidia_NCV_Visualization(path, nvidiaTestOutputLevel);
);
ASSERT_TRUE(res); ASSERT_TRUE(res);
} }
......
...@@ -117,14 +117,13 @@ TEST_P(BroxOpticalFlow, Regression) ...@@ -117,14 +117,13 @@ TEST_P(BroxOpticalFlow, Regression)
cv::gpu::BroxOpticalFlow d_flow(0.197f /*alpha*/, 50.0f /*gamma*/, 0.8f /*scale_factor*/, cv::gpu::BroxOpticalFlow d_flow(0.197f /*alpha*/, 50.0f /*gamma*/, 0.8f /*scale_factor*/,
10 /*inner_iterations*/, 77 /*outer_iterations*/, 10 /*solver_iterations*/); 10 /*inner_iterations*/, 77 /*outer_iterations*/, 10 /*solver_iterations*/);
ASSERT_NO_THROW( cv::gpu::GpuMat d_u;
cv::gpu::GpuMat d_u; cv::gpu::GpuMat d_v;
cv::gpu::GpuMat d_v;
d_flow(cv::gpu::GpuMat(frame0), cv::gpu::GpuMat(frame1), d_u, d_v); d_flow(cv::gpu::GpuMat(frame0), cv::gpu::GpuMat(frame1), d_u, d_v);
d_u.download(u);
d_v.download(v); d_u.download(u);
d_flow.buf.release(); d_v.download(v);
);
#ifndef DUMP #ifndef DUMP
...@@ -212,21 +211,23 @@ TEST_P(InterpolateFrames, Regression) ...@@ -212,21 +211,23 @@ TEST_P(InterpolateFrames, Regression)
cv::gpu::BroxOpticalFlow d_flow(0.197f /*alpha*/, 50.0f /*gamma*/, 0.8f /*scale_factor*/, cv::gpu::BroxOpticalFlow d_flow(0.197f /*alpha*/, 50.0f /*gamma*/, 0.8f /*scale_factor*/,
10 /*inner_iterations*/, 77 /*outer_iterations*/, 10 /*solver_iterations*/); 10 /*inner_iterations*/, 77 /*outer_iterations*/, 10 /*solver_iterations*/);
ASSERT_NO_THROW( cv::gpu::GpuMat d_frame0(frame0);
cv::gpu::GpuMat d_frame0(frame0); cv::gpu::GpuMat d_frame1(frame1);
cv::gpu::GpuMat d_frame1(frame1);
cv::gpu::GpuMat d_fu; cv::gpu::GpuMat d_fu;
cv::gpu::GpuMat d_fv; cv::gpu::GpuMat d_fv;
cv::gpu::GpuMat d_bu; cv::gpu::GpuMat d_bu;
cv::gpu::GpuMat d_bv; cv::gpu::GpuMat d_bv;
cv::gpu::GpuMat d_newFrame;
cv::gpu::GpuMat d_buf; d_flow(d_frame0, d_frame1, d_fu, d_fv);
d_flow(d_frame0, d_frame1, d_fu, d_fv); d_flow(d_frame1, d_frame0, d_bu, d_bv);
d_flow(d_frame1, d_frame0, d_bu, d_bv);
cv::gpu::interpolateFrames(d_frame0, d_frame1, d_fu, d_fv, d_bu, d_bv, 0.5f, d_newFrame, d_buf); cv::gpu::GpuMat d_newFrame;
d_newFrame.download(newFrame); cv::gpu::GpuMat d_buf;
d_flow.buf.release();
); cv::gpu::interpolateFrames(d_frame0, d_frame1, d_fu, d_fv, d_bu, d_bv, 0.5f, d_newFrame, d_buf);
d_newFrame.download(newFrame);
#ifndef DUMP #ifndef DUMP
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment