使用OpenCV获取前景蒙版

时间:2013-09-19 21:23:36

标签: opencv image-segmentation background-foreground

BackgroundSubtractorMOG2返回前景轮廓而不是蒙版。如何使用OpenCV获取正确的前景掩码?

谢谢, Sajid

2 个答案:

答案 0 :(得分:1)

获得的前景蒙版有8bit,你捕获的图像可能是24位(3个通道)。因此,要将其应用于实际图像,您还需要将蒙版转换为3个通道:

Mat maskrgb;
cvtColor(mask,maskrgb,CV_GRAY2BGR);
// now , apply it:
Mat draw = imagergb & (maskrgb > 0);
imshow("lalala", draw );

答案 1 :(得分:0)

尝试使用cv :: fillPoly函数,输入是轮廓,然后你将有掩码。 http://docs.opencv.org/doc/tutorials/core/basic_geometric_drawing/basic_geometric_drawing.html