opencv背景减法获取颜色对象

时间:2015-09-01 03:44:41

标签: c++ c opencv background-subtraction

我用下面的教程做背景减法, http://docs.opencv.org/master/d1/dc5/tutorial_background_subtraction.html#gsc.tab=0

但是使用pMOG2->apply( frame, fgMaskMOG2 )方法将输出作为二进制图像返回。

有没有方法在删除背景后获取彩色对象或使用二进制图像获取彩色图像?

1 个答案:

答案 0 :(得分:1)

您可以做的一件事是使用二进制图像作为掩码,将彩色图像中的对象复制到另一个图像中:

// 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); 

现在,在colorForeground中,您可以看到颜色的对象。