2012-08-02 50 views
0

到這裏,我的代碼如下:更新意味着在OpenCV中的每個像素值

IplImage* firstImg ; 
IplImage* secondImg; 

cv::Mat firstMat (firstImg); 
cv::Mat secondMat (secondImg); 
cv::Mat subMat = firstMat - secondMat; 
cv::Mat medianMat; 

int d = 5; 
cv::medianBlur (subMat, medianMat, d); 

cv::Mat BGModel; 
BGModel = firstMat - medianMat ; 

CvSize size; 
size.width = BGModel.cols; 
size.height = BGModel.rows; 

IplImage* BGImg; 
cvSetData (BGImg, BGModel.data, size.width * 3 ); 

然後,我想不出任何辦法繼續在我的下一個步驟,其中我需要更新背景模型中每個像素相對於來自兩幅圖像的中值濾波差分圖像的平均值。有沒有人可以在這方面提供幫助?示例代碼將不勝感激。 非常感謝提前!

回答

1

我實際上並沒有得到你的問題,但如果你正在尋找運動目標檢測,在這裏背景建模是鏈接,以幫助您

Gaussian Background Modeling遠遠低於中位數的背景建模優越。該鏈接也有一些示例代碼....

+0

嗨Sistu,非常感謝您的答案。我的實際目標是首先執行一些幀減法,然後對差異幀使用中值濾波,然後將中值濾波的輸出用於高斯混合。這就是我想要做的。我目前的問題是,中值濾波器的輸出類型和高斯混合輸入類型不匹配。 – 2012-08-04 13:26:08