#include "perf_precomp.hpp" using namespace std; using namespace cv; using namespace perf; #define TYPICAL_MAT_SIZES_MINMAX TYPICAL_MAT_SIZES #define TYPICAL_MAT_TYPES_MINMAX CV_8SC1, CV_8SC4, CV_32SC1, CV_32FC1 #define TYPICAL_MATS_MINMAX testing::Combine( testing::Values( TYPICAL_MAT_SIZES_MINMAX), testing::Values( TYPICAL_MAT_TYPES_MINMAX) ) PERF_TEST_P(Size_MatType, min_double, TYPICAL_MATS_MINMAX) { Size sz = std::tr1::get<0>(GetParam()); int type = std::tr1::get<1>(GetParam()); cv::Mat a = Mat(sz, type); cv::Mat c = Mat(sz, type); declare.in(a, ::perf::TestBase::WARMUP_RNG).out(c); TEST_CYCLE(100) cv::min(a, 10, c); SANITY_CHECK(c); } PERF_TEST_P(Size_MatType, max_double, TYPICAL_MATS_MINMAX) { Size sz = std::tr1::get<0>(GetParam()); int type = std::tr1::get<1>(GetParam()); cv::Mat a = Mat(sz, type); cv::Mat c = Mat(sz, type); declare.in(a, ::perf::TestBase::WARMUP_RNG).out(c); TEST_CYCLE(100) cv::max(a, 10, c); SANITY_CHECK(c); }