opencv background subtraction get color objects

2019-09-08 00:46发布

问题:

I've used below tutorial to do background subtraction, http://docs.opencv.org/master/d1/dc5/tutorial_background_subtraction.html#gsc.tab=0

But using pMOG2->apply( frame, fgMaskMOG2 ) method return output as a binary image.

Is there any method to get only color objects after removing the background or get color image using binary image?

回答1:

One thing you can do is to use the binary image as a mask for coping the objects from the color image into another image:

// create an image like frame but initialized to zeros
cv::Mat colorForeground = cv::Mat::zeros(frame.size(), frame.type()); 
// copy color objects into the new image using mask
frame.copyTo(colorForeground, fgMaskMOG2); 

Now, in colorForeground, you can see the objects in color.