1 #include "perf_precomp.hpp" 2 3 using namespace std; 4 using namespace cv; 5 using namespace perf; 6 using namespace testing; 7 using std::tr1::make_tuple; 8 using std::tr1::get; 9 10 CV_ENUM(Mat_Type, CV_8UC1, CV_8UC3, CV_32FC1, CV_32FC3) 11 12 typedef TestBaseWithParam< tr1::tuple<Size, int, Mat_Type> > TestBilateralFilter; 13 14 PERF_TEST_P( TestBilateralFilter, BilateralFilter, 15 Combine( 16 Values( szVGA, sz1080p ), // image size 17 Values( 3, 5 ), // d 18 Mat_Type::all() // image type 19 ) 20 ) 21 { 22 Size sz; 23 int d, type; 24 const double sigmaColor = 1., sigmaSpace = 1.; 25 26 sz = get<0>(GetParam()); 27 d = get<1>(GetParam()); 28 type = get<2>(GetParam()); 29 30 Mat src(sz, type); 31 Mat dst(sz, type); 32 33 declare.in(src, WARMUP_RNG).out(dst).time(20); 34 35 TEST_CYCLE() bilateralFilter(src, dst, d, sigmaColor, sigmaSpace, BORDER_DEFAULT); 36 37 SANITY_CHECK(dst, .01, ERROR_RELATIVE); 38 } 39