如何在OpenCV中给出前景轮廓生成仅前景图像?

时间:2013-05-03 11:21:51

标签: opencv background foreground subtraction

我为前景提取任务做了背景减法部分。现在我的轮廓代表白色的前景和黑色的背景,我不知道如何制作仅包含像素值的前景图像(来自原始帧)。我正在使用Opencv 2.3,我使用Mat来存储图像。有任何想法吗? 提前谢谢..

2 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

Mat image; // the original image

Mat foreground_bw; // the foreground in black and white
background_subtractor ( image, foreground_bw, -1.0 );

// getting the corresponding pixel values for the foreground.
Mat foreground = Mat::zeros ( image.rows, image.cols, image.type() );
image.copyTo ( foreground, foreground_bw );

答案 1 :(得分:0)

使用原始尺寸制作新图像,循环显示背景/前景图像中的所有像素(背景为黑色且前景为白色的像素),并为每个像素复制当前/原始图像(一个来自相机等)或你的背景估计。完成。