From e9ba5c225dcc19a8b3f24b9cde1e4d42c2ee9179 Mon Sep 17 00:00:00 2001 From: Daniil Osokin Date: Tue, 23 Oct 2012 15:14:40 +0400 Subject: [PATCH] extended perf test warpPerspectiveLarge --- modules/imgproc/perf/perf_warp.cpp | 60 ++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/modules/imgproc/perf/perf_warp.cpp b/modules/imgproc/perf/perf_warp.cpp index ccc3dde..1c321db 100644 --- a/modules/imgproc/perf/perf_warp.cpp +++ b/modules/imgproc/perf/perf_warp.cpp @@ -15,6 +15,7 @@ CV_ENUM(RemapMode, HALF_SIZE, UPSIDE_DOWN, REFLECTION_X, REFLECTION_BOTH) typedef TestBaseWithParam< tr1::tuple > TestWarpAffine; typedef TestBaseWithParam< tr1::tuple > TestWarpPerspective; +typedef TestBaseWithParam< tr1::tuple > TestWarpPerspectiveNear_t; typedef TestBaseWithParam< tr1::tuple > TestRemap; void update_map(const Mat& src, Mat& map_x, Mat& map_y, const int remapMode ); @@ -80,44 +81,59 @@ PERF_TEST_P( TestWarpPerspective, WarpPerspective, SANITY_CHECK(dst); } -PERF_TEST_P( TestWarpPerspective, WarpPerspectiveLarge, +PERF_TEST_P( TestWarpPerspectiveNear_t, WarpPerspectiveNear, Combine( - Values( sz3MP, sz5MP ), - ValuesIn( InterType::all() ), - ValuesIn( BorderMode::all() ) + Values( Size(176,144), Size(320,240), Size(352,288), Size(480,480), + Size(640,480), Size(704,576), Size(720,408), Size(720,480), + Size(720,576), Size(768,432), Size(800,448), Size(960,720), + Size(1024,768), Size(1280,720), Size(1280,960), Size(1360,720), + Size(1600,1200), Size(1920,1080), Size(2048,1536), Size(2592,1920), + Size(2592,1944), Size(3264,2448), Size(4096,3072), Size(4208,3120) ), + ValuesIn( InterType::all() ), + ValuesIn( BorderMode::all() ), + Values( CV_8UC1, CV_8UC4 ) + ) ) -) { - Size sz; - int borderMode, interType; - sz = get<0>(GetParam()); + Size size; + int borderMode, interType, type; + size = get<0>(GetParam()); borderMode = get<1>(GetParam()); interType = get<2>(GetParam()); + type = get<3>(GetParam()); + + Mat src, img = imread(getDataPath("cv/shared/5MP.png")); - string resolution; - if (sz == sz3MP) - resolution = "3MP"; - else if (sz == sz5MP) - resolution = "5MP"; + if( type == CV_8UC1 ) + { + cvtColor(img, src, COLOR_BGR2GRAY, 1); + } + else if( type == CV_8UC4 ) + { + cvtColor(img, src, COLOR_BGR2BGRA, 4); + } else + { FAIL(); + } - Mat src, img = imread(getDataPath("cv/shared/" + resolution + ".png")); - cvtColor(img, src, COLOR_BGR2BGRA, 4); + resize(src, src, size); - int shift = 103; - Mat srcVertices = (Mat_(1, 4) << Vec2f(0, 0), Vec2f(sz.width-1, 0), - Vec2f(sz.width-1, sz.height-1), Vec2f(0, sz.height-1)); - Mat dstVertices = (Mat_(1, 4) << Vec2f(0, shift), Vec2f(sz.width-shift/2, 0), - Vec2f(sz.width-shift, sz.height-shift), Vec2f(shift/2, sz.height-1)); + int shift = src.cols*0.04; + Mat srcVertices = (Mat_(1, 4) << Vec2f(0, 0), Vec2f(size.width-1, 0), + Vec2f(size.width-1, size.height-1), Vec2f(0, size.height-1)); + Mat dstVertices = (Mat_(1, 4) << Vec2f(0, shift), Vec2f(size.width-shift/2, 0), + Vec2f(size.width-shift, size.height-shift), Vec2f(shift/2, size.height-1)); Mat warpMat = getPerspectiveTransform(srcVertices, dstVertices); - Mat dst(sz, CV_8UC4); + Mat dst(size, type); declare.in(src).out(dst); TEST_CYCLE() - warpPerspective( src, dst, warpMat, sz, interType, borderMode, Scalar::all(150) ); + { + warpPerspective( src, dst, warpMat, size, interType, borderMode, Scalar::all(150) ); + } SANITY_CHECK(dst); } -- 2.7.4