gpt4 book ai didi

c++ - getBackgroundImage 因 BackgroundSubtractorMOG 而失败

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:42 27 4
gpt4 key购买 nike

我想使用函数 getBackgroundImage(). 从 BackgroundSubtractorMOG 检索 BackgroundImage

不幸的是,我总是得到一个空矩阵。

这种行为是 OpenCV2.4.8 中的错误,还是我可能需要进行某种额外的初始化? (如果您从 MOG 切换到 MOG2,它工作正常。)

电流初始化灵感来自 this question.

示例代码:

int main(int argc, char *argv[]){

BackgroundSubtractorMOG mog(3, 4, 0.8);
cv::VideoCapture cap(0);

cv::Mat frame, backMOG, foreMOG;
for(;;){
cap >> frame;

mog(frame, foreMOG,-1);
cv::imshow("foreMOG", foreMOG);

mog.getBackgroundImage(backMOG);
if(!backMOG.empty()){
cv::imshow("backMOG", backMOG); //never reached
}

if(cv::waitKey(30) >= 0) break;
}
return 0;
}

最佳答案

正如@Micka 在评论中正确指出的那样:它只是没有实现!

调用mog.getBackgroundImage(backMOG); 跳转到

void BackgroundSubtractor::getBackgroundImage(OutputArray) const {}

在文件 bgfg_gaussmix2.cpp 中。

长话短说:BackgroundSubtractorGMGBackgroundSubtractorMOG 目前在 OpenCV 2.4.8 中没有实现 getBackgroundImage。只有 BackgroundSubtractorMOG2 支持它。

关于c++ - getBackgroundImage 因 BackgroundSubtractorMOG 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22785700/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com