mirror of https://github.com/opencv/opencv.git
parent
baf191fab2
commit
6f8b3fc633
2 changed files with 53 additions and 8 deletions
@ -0,0 +1,45 @@ |
|||||||
|
#include "perf_precomp.hpp" |
||||||
|
|
||||||
|
using namespace std; |
||||||
|
using namespace cv; |
||||||
|
using namespace perf; |
||||||
|
using std::tr1::make_tuple; |
||||||
|
using std::tr1::get; |
||||||
|
|
||||||
|
template <typename T> |
||||||
|
static void CvRoundMat(const cv::Mat & src, cv::Mat & dst) |
||||||
|
{ |
||||||
|
for (int y = 0; y < dst.rows; ++y) |
||||||
|
{ |
||||||
|
const T * sptr = src.ptr<T>(y); |
||||||
|
int * dptr = dst.ptr<int>(y); |
||||||
|
|
||||||
|
for (int x = 0; x < dst.cols; ++x) |
||||||
|
dptr[x] = cvRound(sptr[x]); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
PERF_TEST_P(Size_MatType, CvRound_Float, |
||||||
|
testing::Combine(testing::Values(TYPICAL_MAT_SIZES), |
||||||
|
testing::Values(CV_32FC1, CV_64FC1))) |
||||||
|
{ |
||||||
|
Size size = get<0>(GetParam()); |
||||||
|
int type = get<1>(GetParam()), depth = CV_MAT_DEPTH(type); |
||||||
|
|
||||||
|
cv::Mat src(size, type), dst(size, CV_32SC1); |
||||||
|
|
||||||
|
declare.in(src, WARMUP_RNG).out(dst); |
||||||
|
|
||||||
|
if (depth == CV_32F) |
||||||
|
{ |
||||||
|
TEST_CYCLE() |
||||||
|
CvRoundMat<float>(src, dst); |
||||||
|
} |
||||||
|
else if (depth == CV_64F) |
||||||
|
{ |
||||||
|
TEST_CYCLE() |
||||||
|
CvRoundMat<double>(src, dst); |
||||||
|
} |
||||||
|
|
||||||
|
SANITY_CHECK_NOTHING(); |
||||||
|
} |
Loading…
Reference in new issue