refactored and fixed bugs in gpu warp functions (remap, resize, warpAffine, warpPerspective)

wrote more complicated tests for them
implemented own version of warpAffine and warpPerspective for different border interpolation types
refactored some gpu tests
This commit is contained in:
Vladislav Vinogradov
2012-03-14 15:54:17 +00:00
parent 6e2507c197
commit ade7394e77
33 changed files with 6243 additions and 4545 deletions

View File

@@ -39,7 +39,7 @@
//
//M*/
#include "test_precomp.hpp"
#include "precomp.hpp"
#ifdef HAVE_CUDA
@@ -117,7 +117,7 @@ INSTANTIATE_TEST_CASE_P(Arithm, Add, Combine(
ALL_DEVICES,
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_16SC1, CV_16SC2, CV_16SC3, CV_16SC4,
CV_32SC1, CV_32SC2, CV_32SC3, CV_32FC1, CV_32FC2, CV_32FC3, CV_32FC4),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// subtract
@@ -160,7 +160,7 @@ INSTANTIATE_TEST_CASE_P(Arithm, Subtract, Combine(
ALL_DEVICES,
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_16SC1, CV_16SC2, CV_16SC3, CV_16SC4,
CV_32SC1, CV_32SC2, CV_32SC3, CV_32FC1, CV_32FC2, CV_32FC3, CV_32FC4),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// multiply
@@ -203,7 +203,7 @@ INSTANTIATE_TEST_CASE_P(Arithm, Multiply, Combine(
ALL_DEVICES,
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_16SC1, CV_16SC3, CV_16SC4,
CV_32SC1, CV_32SC3, CV_32FC1, CV_32FC3, CV_32FC4),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// divide
@@ -246,7 +246,7 @@ INSTANTIATE_TEST_CASE_P(Arithm, Divide, Combine(
ALL_DEVICES,
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_16SC1, CV_16SC3, CV_16SC4,
CV_32SC1, CV_32SC3, CV_32FC1, CV_32FC3, CV_32FC4),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// transpose
@@ -272,7 +272,7 @@ TEST_P(Transpose, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, Transpose, Combine(
ALL_DEVICES,
Values(CV_8UC1, CV_8UC4, CV_8SC1, CV_8SC4, CV_16UC2, CV_16SC2, CV_32SC1, CV_32SC2, CV_32FC1, CV_32FC2, CV_64FC1),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// absdiff
@@ -314,7 +314,7 @@ TEST_P(Absdiff, Scalar)
INSTANTIATE_TEST_CASE_P(Arithm, Absdiff, Combine(
ALL_DEVICES,
Values(CV_8UC1, CV_16UC1, CV_32SC1, CV_32FC1),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// abs
@@ -339,7 +339,7 @@ TEST_P(Abs, Array)
INSTANTIATE_TEST_CASE_P(Arithm, Abs, Combine(
ALL_DEVICES,
Values(CV_16SC1, CV_32FC1),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// Sqr
@@ -365,7 +365,7 @@ TEST_P(Sqr, Array)
INSTANTIATE_TEST_CASE_P(Arithm, Sqr, Combine(
ALL_DEVICES,
Values(CV_8UC1, CV_16UC1, CV_16SC1, CV_32FC1),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// Sqrt
@@ -391,7 +391,7 @@ TEST_P(Sqrt, Array)
INSTANTIATE_TEST_CASE_P(Arithm, Sqrt, Combine(
ALL_DEVICES,
Values(MatType(CV_32FC1)),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// compare
@@ -445,7 +445,7 @@ INSTANTIATE_TEST_CASE_P(Arithm, Compare, Combine(
ALL_DEVICES,
Values(CV_8UC1, CV_16UC1, CV_32SC1),
Values((int) cv::CMP_EQ, (int) cv::CMP_GT, (int) cv::CMP_GE, (int) cv::CMP_LT, (int) cv::CMP_LE, (int) cv::CMP_NE),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// meanStdDev
@@ -498,7 +498,7 @@ TEST_P(MeanStdDev, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, MeanStdDev, Combine(
ALL_DEVICES,
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// normDiff
@@ -543,7 +543,7 @@ TEST_P(NormDiff, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, NormDiff, Combine(
ALL_DEVICES,
Values((int) cv::NORM_INF, (int) cv::NORM_L1, (int) cv::NORM_L2),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// flip
@@ -596,7 +596,7 @@ INSTANTIATE_TEST_CASE_P(Arithm, Flip, Combine(
ALL_DEVICES,
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32SC1, CV_32SC3, CV_32SC4, CV_32FC1, CV_32FC3, CV_32FC4),
Values((int)FLIP_BOTH, (int)FLIP_X, (int)FLIP_Y),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// LUT
@@ -648,7 +648,7 @@ TEST_P(LUT, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, LUT, Combine(
ALL_DEVICES,
Values(CV_8UC1, CV_8UC3),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// exp
@@ -695,7 +695,7 @@ TEST_P(Exp, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, Exp, Combine(
ALL_DEVICES,
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// pow
@@ -754,7 +754,7 @@ TEST_P(Pow, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, Pow, Combine(
ALL_DEVICES,
Values(CV_32F, CV_32FC3),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// log
@@ -801,7 +801,7 @@ TEST_P(Log, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, Log, Combine(
ALL_DEVICES,
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// magnitude
@@ -849,7 +849,7 @@ TEST_P(Magnitude, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, Magnitude, Combine(
ALL_DEVICES,
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// phase
@@ -897,7 +897,7 @@ TEST_P(Phase, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, Phase, Combine(
ALL_DEVICES,
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// cartToPolar
@@ -949,7 +949,7 @@ TEST_P(CartToPolar, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, CartToPolar, Combine(
ALL_DEVICES,
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// polarToCart
@@ -1002,7 +1002,7 @@ TEST_P(PolarToCart, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, PolarToCart, Combine(
ALL_DEVICES,
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// minMax
@@ -1078,7 +1078,7 @@ TEST_P(MinMax, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, MinMax, Combine(
ALL_DEVICES,
Values(CV_8U, CV_8S, CV_16U, CV_16S, CV_32S, CV_32F, CV_64F),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////////
// minMaxLoc
@@ -1167,7 +1167,7 @@ TEST_P(MinMaxLoc, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, MinMaxLoc, Combine(
ALL_DEVICES,
Values(CV_8U, CV_8S, CV_16U, CV_16S, CV_32S, CV_32F, CV_64F),
USE_ROI));
WHOLE_SUBMAT));
////////////////////////////////////////////////////////////////////////////
// countNonZero
@@ -1215,7 +1215,7 @@ TEST_P(CountNonZero, Accuracy)
INSTANTIATE_TEST_CASE_P(Arithm, CountNonZero, Combine(
ALL_DEVICES,
Values(CV_8U, CV_8S, CV_16U, CV_16S, CV_32S, CV_32F, CV_64F),
USE_ROI));
WHOLE_SUBMAT));
//////////////////////////////////////////////////////////////////////////////
// sum
@@ -1295,7 +1295,7 @@ TEST_P(Sum, Sqr)
INSTANTIATE_TEST_CASE_P(Arithm, Sum, Combine(
ALL_DEVICES,
Values(CV_8U, CV_8S, CV_16U, CV_16S, CV_32S, CV_32F, CV_64F),
USE_ROI));
WHOLE_SUBMAT));
//////////////////////////////////////////////////////////////////////////////
// bitwise
@@ -1560,7 +1560,7 @@ INSTANTIATE_TEST_CASE_P(Arithm, AddWeighted, Combine(
TYPES(CV_8U, CV_64F, 1, 1),
TYPES(CV_8U, CV_64F, 1, 1),
TYPES(CV_8U, CV_64F, 1, 1),
USE_ROI));
WHOLE_SUBMAT));
//////////////////////////////////////////////////////////////////////////////
// reduce
@@ -1624,7 +1624,7 @@ INSTANTIATE_TEST_CASE_P(Arithm, Reduce, Combine(
Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32FC1, CV_32FC3, CV_32FC4),
Values(0, 1),
Values((int)CV_REDUCE_SUM, (int)CV_REDUCE_AVG, (int)CV_REDUCE_MAX, (int)CV_REDUCE_MIN),
USE_ROI));
WHOLE_SUBMAT));
//////////////////////////////////////////////////////////////////////////////
// gemm
@@ -1685,6 +1685,6 @@ INSTANTIATE_TEST_CASE_P(Arithm, GEMM, Combine(
ALL_DEVICES,
Values(CV_32FC1, CV_32FC2),
Values(0, (int) cv::GEMM_1_T, (int) cv::GEMM_2_T, (int) cv::GEMM_3_T),
USE_ROI));
WHOLE_SUBMAT));
#endif // HAVE_CUDA