2013-05-03 8 views
0

Я сделал часть подстановки фона для моей задачи выделения переднего плана. Теперь, когда у меня есть силуэт, представляющий передний план в белом и черном фоне, я не знаю, как сделать изображение переднего плана, содержащее только значения пикселей (из исходного кадра). Я использую Opencv 2.3, и я использую Mat для хранения изображений. Есть идеи? Заранее спасибо.Как создать изображение только переднего плана, учитывая силуэты переднего плана в OpenCV?

ответ

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); 
+0

Большое спасибо .. это было именно то, что я хотел. – nullPointer

0

Сделайте новое изображение с размерами оригинала, пройдите по всем пикселам в фоновом/переднем плане (тот, где фон черный и белый переднего плана), и для каждого пикселя либо скопируйте с текущее/оригинальное изображение (изображение с камеры и т. д.) или из фоновой оценки. сделанный.