Merge pull request #10477 from berak:fix_bg_sub_tutorial

This commit is contained in:
Alexander Alekhin 2018-01-02 03:21:16 +00:00
commit 940a90130d
3 changed files with 4 additions and 11 deletions

View File

@ -40,9 +40,7 @@ Code
In the following you can find the source code. We will let the user chose to process either a video
file or a sequence of images.
Two different methods are used to generate two foreground masks:
-# cv::bgsegm::BackgroundSubtractorMOG
-# @ref cv::BackgroundSubtractorMOG2
We will use @ref cv::BackgroundSubtractorMOG2 in this sample, to generate the foreground mask.
The results as well as the input data are shown on the screen.
The source file can be downloaded [here ](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/video/bg_sub.cpp).
@ -54,22 +52,19 @@ Explanation
We discuss the main parts of the above code:
-# First, three Mat objects are allocated to store the current frame and two foreground masks,
-# First, two Mat objects are allocated to store the current frame and two foreground masks,
obtained by using two different BS algorithms.
@code{.cpp}
Mat frame; //current frame
Mat fgMaskMOG; //fg mask generated by MOG method
Mat fgMaskMOG2; //fg mask fg mask generated by MOG2 method
@endcode
-# Two @ref cv::BackgroundSubtractor objects will be used to generate the foreground masks. In this
-# A @ref cv::BackgroundSubtractor object will be used to generate the foreground mask. In this
example, default parameters are used, but it is also possible to declare specific parameters in
the create function.
@code{.cpp}
Ptr<BackgroundSubtractor> pMOG; //MOG Background subtractor
Ptr<BackgroundSubtractor> pMOG2; //MOG2 Background subtractor
...
//create Background Subtractor objects
pMOG = createBackgroundSubtractorMOG(); //MOG approach
//create Background Subtractor object
pMOG2 = createBackgroundSubtractorMOG2(); //MOG2 approach
@endcode
-# The command line arguments are analysed. The user can chose between two options:
@ -101,7 +96,6 @@ We discuss the main parts of the above code:
set a specific learning rate by passing a third parameter to the 'apply' method.
@code{.cpp}
//update the background model
pMOG->apply(frame, fgMaskMOG);
pMOG2->apply(frame, fgMaskMOG2);
@endcode
-# The current frame number can be extracted from the @ref cv::VideoCapture object and stamped in
@ -121,7 +115,6 @@ We discuss the main parts of the above code:
@code{.cpp}
//show the current frame and the fg masks
imshow("Frame", frame);
imshow("FG Mask MOG", fgMaskMOG);
imshow("FG Mask MOG 2", fgMaskMOG2);
@endcode
-# The same operations listed above can be performed using a sequence of images as input. The

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 KiB

After

Width:  |  Height:  |  Size: 94 KiB