1793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler#include "perf_precomp.hpp" 2793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler 3793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslerusing namespace std; 4793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslerusing namespace cv; 5793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslerusing namespace perf; 6793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslerusing std::tr1::make_tuple; 7793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslerusing std::tr1::get; 8793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler 9793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslertypedef std::tr1::tuple<Size, MatType, int> Size_Depth_Channels_t; 10793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslertypedef perf::TestBaseWithParam<Size_Depth_Channels_t> Size_Depth_Channels; 11793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler 12793ee12c6df9cad3806238d32528c49a3ff9331dNoah PreslerPERF_TEST_P( Size_Depth_Channels, split, 13793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler testing::Combine 14793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler ( 15793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler testing::Values(TYPICAL_MAT_SIZES), 16793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler testing::Values(CV_8U, CV_16S, CV_32F, CV_64F), 17793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler testing::Values(2, 3, 4) 18793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler ) 19793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler ) 20793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler{ 21793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler Size sz = get<0>(GetParam()); 22793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler int depth = get<1>(GetParam()); 23793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler int channels = get<2>(GetParam()); 24793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler 25793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler Mat m(sz, CV_MAKETYPE(depth, channels)); 26793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler randu(m, 0, 255); 27793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler 28793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler vector<Mat> mv; 29793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler int runs = (sz.width <= 640) ? 8 : 1; 30793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler TEST_CYCLE_MULTIRUN(runs) split(m, (vector<Mat>&)mv); 31793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler 32793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler SANITY_CHECK(mv, 1e-12); 33793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler} 34