0

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?

user3666197
  • 1
  • 6
  • 50
  • 92
user957713
  • 31
  • 1
  • 5

1 Answers1

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.

user3666197
  • 1
  • 6
  • 50
  • 92
ikaro
  • 703
  • 6
  • 10