mirror of
https://github.com/opencv/opencv.git
synced 2024-11-27 20:50:25 +08:00
Merge pull request #10477 from berak:fix_bg_sub_tutorial
This commit is contained in:
commit
940a90130d
@ -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 |
Loading…
Reference in New Issue
Block a user