Added perf test
This commit is contained in:
96
modules/core/perf/perf_mat.cpp
Normal file
96
modules/core/perf/perf_mat.cpp
Normal file
@@ -0,0 +1,96 @@
|
||||
#include "perf_precomp.hpp"
|
||||
|
||||
using namespace std;
|
||||
using namespace cv;
|
||||
using namespace perf;
|
||||
using std::tr1::make_tuple;
|
||||
using std::tr1::get;
|
||||
|
||||
PERF_TEST_P(Size_MatType, Mat_Eye,
|
||||
testing::Combine(testing::Values(TYPICAL_MAT_SIZES),
|
||||
testing::Values(TYPICAL_MAT_TYPES))
|
||||
|
||||
)
|
||||
{
|
||||
Size size = get<0>(GetParam());
|
||||
int type = get<1>(GetParam());
|
||||
Mat diagonalMatrix(size.height, size.width, type);
|
||||
|
||||
declare.out(diagonalMatrix);
|
||||
|
||||
TEST_CYCLE()
|
||||
{
|
||||
diagonalMatrix = Mat::eye(size, type);
|
||||
}
|
||||
|
||||
SANITY_CHECK(diagonalMatrix, 1);
|
||||
}
|
||||
|
||||
PERF_TEST_P(Size_MatType, Mat_Zeros,
|
||||
testing::Combine(testing::Values(TYPICAL_MAT_SIZES),
|
||||
testing::Values(TYPICAL_MAT_TYPES, CV_32FC3))
|
||||
|
||||
)
|
||||
{
|
||||
Size size = get<0>(GetParam());
|
||||
int type = get<1>(GetParam());
|
||||
Mat zeroMatrix(size.height, size.width, type);
|
||||
|
||||
declare.out(zeroMatrix);
|
||||
|
||||
TEST_CYCLE()
|
||||
{
|
||||
zeroMatrix = Mat::zeros(size, type);
|
||||
}
|
||||
|
||||
SANITY_CHECK(zeroMatrix, 1);
|
||||
}
|
||||
|
||||
PERF_TEST_P(Size_MatType, Mat_Clone,
|
||||
testing::Combine(testing::Values(TYPICAL_MAT_SIZES),
|
||||
testing::Values(TYPICAL_MAT_TYPES))
|
||||
|
||||
)
|
||||
{
|
||||
Size size = get<0>(GetParam());
|
||||
int type = get<1>(GetParam());
|
||||
Mat source(size.height, size.width, type);
|
||||
Mat destination(size.height, size.width, type);;
|
||||
|
||||
declare.in(source, WARMUP_RNG).out(destination);
|
||||
|
||||
TEST_CYCLE()
|
||||
{
|
||||
source.clone();
|
||||
}
|
||||
destination = source.clone();
|
||||
|
||||
SANITY_CHECK(destination, 1);
|
||||
}
|
||||
|
||||
PERF_TEST_P(Size_MatType, Mat_Clone_Roi,
|
||||
testing::Combine(testing::Values(TYPICAL_MAT_SIZES),
|
||||
testing::Values(TYPICAL_MAT_TYPES))
|
||||
|
||||
)
|
||||
{
|
||||
Size size = get<0>(GetParam());
|
||||
int type = get<1>(GetParam());
|
||||
|
||||
unsigned int width = size.width;
|
||||
unsigned int height = size.height;
|
||||
Mat source(height, width, type);
|
||||
Mat destination(size.height/2, size.width/2, type);
|
||||
|
||||
declare.in(source, WARMUP_RNG).out(destination);
|
||||
|
||||
Mat roi(source, Rect(width/4, height/4, 3*width/4, 3*height/4));
|
||||
|
||||
TEST_CYCLE()
|
||||
{
|
||||
roi.clone();
|
||||
}
|
||||
destination = roi.clone();
|
||||
|
||||
SANITY_CHECK(destination, 1);
|
||||
}
|
Reference in New Issue
Block a user