mirror of
https://github.com/opencv/opencv.git
synced 2026-07-30 07:43:03 +04:00
Merge branch 4.x
This commit is contained in:
@@ -422,6 +422,19 @@ PERF_TEST_P_(BinaryOpTest, reciprocal)
|
||||
SANITY_CHECK_NOTHING();
|
||||
}
|
||||
|
||||
PERF_TEST_P_(BinaryOpTest, transpose2d)
|
||||
{
|
||||
Size sz = get<0>(GetParam());
|
||||
int type = get<1>(GetParam());
|
||||
Size tsz = Size(sz.height, sz.width);
|
||||
cv::Mat a(sz, type), b(tsz, type);;
|
||||
|
||||
declare.in(a, WARMUP_RNG).out(b);
|
||||
|
||||
TEST_CYCLE() cv::transpose(a, b);
|
||||
|
||||
SANITY_CHECK_NOTHING();
|
||||
}
|
||||
|
||||
PERF_TEST_P_(BinaryOpTest, transposeND)
|
||||
{
|
||||
|
||||
@@ -15,7 +15,7 @@ enum
|
||||
};
|
||||
|
||||
#define FLIP_SIZES szQVGA, szVGA, sz1080p
|
||||
#define FLIP_TYPES CV_8UC1, CV_8UC3, CV_8UC4
|
||||
#define FLIP_TYPES CV_8UC1, CV_8UC2, CV_8UC3, CV_8UC4, CV_8SC1, CV_16SC1, CV_16SC2, CV_16SC3, CV_16SC4, CV_32SC1, CV_32FC1
|
||||
#define FLIP_CODES FLIP_X, FLIP_Y, FLIP_XY
|
||||
|
||||
CV_FLAGS(FlipCode, FLIP_X, FLIP_Y, FLIP_XY);
|
||||
|
||||
@@ -99,7 +99,7 @@ PERF_TEST_P(Size_MatType, Mat_Clone_Roi,
|
||||
|
||||
PERF_TEST_P(Size_MatType, Mat_CopyToWithMask,
|
||||
testing::Combine(testing::Values(::perf::sz1080p, ::perf::szODD),
|
||||
testing::Values(CV_8UC1, CV_8UC2, CV_8UC3, CV_16UC1, CV_32SC1, CV_32FC4))
|
||||
testing::Values(CV_8UC1, CV_8UC2, CV_8UC3, CV_16UC1, CV_16UC3, CV_32SC1, CV_32SC2, CV_32FC4))
|
||||
)
|
||||
{
|
||||
const Size_MatType_t params = GetParam();
|
||||
|
||||
@@ -36,6 +36,71 @@ PERF_TEST_P(VectorLength, phase64f, testing::Values(128, 1000, 128*1024, 512*102
|
||||
SANITY_CHECK(angle, 5e-5);
|
||||
}
|
||||
|
||||
///////////// Magnitude /////////////
|
||||
|
||||
typedef Size_MatType MagnitudeFixture;
|
||||
|
||||
PERF_TEST_P(MagnitudeFixture, Magnitude,
|
||||
testing::Combine(testing::Values(TYPICAL_MAT_SIZES), testing::Values(CV_32F, CV_64F)))
|
||||
{
|
||||
cv::Size size = std::get<0>(GetParam());
|
||||
int type = std::get<1>(GetParam());
|
||||
|
||||
cv::Mat x(size, type);
|
||||
cv::Mat y(size, type);
|
||||
cv::Mat magnitude(size, type);
|
||||
|
||||
declare.in(x, y, WARMUP_RNG).out(magnitude);
|
||||
|
||||
TEST_CYCLE() cv::magnitude(x, y, magnitude);
|
||||
|
||||
SANITY_CHECK_NOTHING();
|
||||
}
|
||||
|
||||
///////////// Cart to Polar /////////////
|
||||
|
||||
typedef Size_MatType CartToPolarFixture;
|
||||
|
||||
PERF_TEST_P(CartToPolarFixture, CartToPolar,
|
||||
testing::Combine(testing::Values(TYPICAL_MAT_SIZES), testing::Values(CV_32F, CV_64F)))
|
||||
{
|
||||
cv::Size size = std::get<0>(GetParam());
|
||||
int type = std::get<1>(GetParam());
|
||||
|
||||
cv::Mat x(size, type);
|
||||
cv::Mat y(size, type);
|
||||
cv::Mat magnitude(size, type);
|
||||
cv::Mat angle(size, type);
|
||||
|
||||
declare.in(x, y, WARMUP_RNG).out(magnitude, angle);
|
||||
|
||||
TEST_CYCLE() cv::cartToPolar(x, y, magnitude, angle);
|
||||
|
||||
SANITY_CHECK_NOTHING();
|
||||
}
|
||||
|
||||
///////////// Polar to Cart /////////////
|
||||
|
||||
typedef Size_MatType PolarToCartFixture;
|
||||
|
||||
PERF_TEST_P(PolarToCartFixture, PolarToCart,
|
||||
testing::Combine(testing::Values(TYPICAL_MAT_SIZES), testing::Values(CV_32F, CV_64F)))
|
||||
{
|
||||
cv::Size size = std::get<0>(GetParam());
|
||||
int type = std::get<1>(GetParam());
|
||||
|
||||
cv::Mat magnitude(size, type);
|
||||
cv::Mat angle(size, type);
|
||||
cv::Mat x(size, type);
|
||||
cv::Mat y(size, type);
|
||||
|
||||
declare.in(magnitude, angle, WARMUP_RNG).out(x, y);
|
||||
|
||||
TEST_CYCLE() cv::polarToCart(magnitude, angle, x, y);
|
||||
|
||||
SANITY_CHECK_NOTHING();
|
||||
}
|
||||
|
||||
// generates random vectors, performs Gram-Schmidt orthogonalization on them
|
||||
Mat randomOrtho(int rows, int ftype, RNG& rng)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user