Merge branch 'bgfg-gmg-optimized' into bgfg-gmg-merged
authorVladislav Vinogradov <vlad.vinogradov@itseez.com>
Thu, 9 Aug 2012 10:55:36 +0000 (14:55 +0400)
committerVladislav Vinogradov <vlad.vinogradov@itseez.com>
Thu, 9 Aug 2012 10:55:36 +0000 (14:55 +0400)
1  2 
modules/gpu/perf_cpu/perf_video.cpp

@@@ -329,76 -329,6 +329,74 @@@ INSTANTIATE_TEST_CASE_P(Video, MOG2_get
      testing::Values(/*Channels(1),*/ Channels(3)/*, Channels(4)*/)));\r
  \r
  //////////////////////////////////////////////////////\r
-     gmg.initializeType(frame, 0.0, 255.0);\r
 +// GMG\r
 +\r
 +IMPLEMENT_PARAM_CLASS(MaxFeatures, int)\r
 +\r
 +GPU_PERF_TEST(GMG, cv::gpu::DeviceInfo, std::string, Channels, MaxFeatures)\r
 +{\r
 +    std::string inputFile = perf::TestBase::getDataPath(std::string("gpu/video/") + GET_PARAM(1));\r
 +    int cn = GET_PARAM(2);\r
 +    int maxFeatures = GET_PARAM(3);\r
 +\r
 +    cv::VideoCapture cap(inputFile);\r
 +    ASSERT_TRUE(cap.isOpened());\r
 +\r
 +    cv::Mat frame;\r
 +    cap >> frame;\r
 +    ASSERT_FALSE(frame.empty());\r
 +\r
 +    if (cn != 3)\r
 +    {\r
 +        cv::Mat temp;\r
 +        if (cn == 1)\r
 +            cv::cvtColor(frame, temp, cv::COLOR_BGR2GRAY);\r
 +        else\r
 +            cv::cvtColor(frame, temp, cv::COLOR_BGR2BGRA);\r
 +        cv::swap(temp, frame);\r
 +    }\r
 +\r
 +    cv::Mat fgmask;\r
 +    cv::Mat zeros(frame.size(), CV_8UC1, cv::Scalar::all(0));\r
 +\r
 +    cv::BackgroundSubtractorGMG gmg;\r
 +    gmg.set("maxFeatures", maxFeatures);\r
-     gmg.updateBackgroundModel(zeros);\r
++    gmg.initialize(frame.size(), 0.0, 255.0);\r
 +\r
 +    gmg(frame, fgmask);\r
-         gmg.updateBackgroundModel(zeros);\r
 +\r
 +    for (int i = 0; i < 150; ++i)\r
 +    {\r
 +        cap >> frame;\r
 +        if (frame.empty())\r
 +        {\r
 +            cap.open(inputFile);\r
 +            cap >> frame;\r
 +        }\r
 +\r
 +        if (cn != 3)\r
 +        {\r
 +            cv::Mat temp;\r
 +            if (cn == 1)\r
 +                cv::cvtColor(frame, temp, cv::COLOR_BGR2GRAY);\r
 +            else\r
 +                cv::cvtColor(frame, temp, cv::COLOR_BGR2BGRA);\r
 +            cv::swap(temp, frame);\r
 +        }\r
 +\r
 +        startTimer(); next();\r
 +        gmg(frame, fgmask);\r
 +        stopTimer();\r
 +    }\r
 +}\r
 +\r
 +INSTANTIATE_TEST_CASE_P(Video, GMG, testing::Combine(\r
 +    ALL_DEVICES,\r
 +    testing::Values(std::string("768x576.avi"), std::string("1920x1080.avi")),\r
 +    testing::Values(Channels(1), Channels(3), Channels(4)),\r
 +    testing::Values(MaxFeatures(20), MaxFeatures(40), MaxFeatures(60))));\r
 +\r
 +//////////////////////////////////////////////////////\r
  // VideoWriter\r
  \r
  #ifdef WIN32\r