2014-11-23 2 views
0

У меня же проблема, как эта тема BackgroundSubtractorMOG2 & OpenCVОшибки BackgroundSubtractorMOG2 в OpenCV

Прежде я использовать OpenCV 2.4.9, я удалил OpenCV 3.0.0. И теперь, когда я использую класс BackgroundSubtractorMOG2, у меня есть этот пролет.

Как я могу решить проблему. Я использую eclipse. Пожалуйста, помогите мне.

Error

Мой исходный код:

int main(int argc, char *argv[]) { 
cv::Mat frame; 
cv::Mat back; 
cv::Mat fore; 
cv::VideoCapture cap(0); 
cv::BackgroundSubtractorMOG2 bg; 
bg.set("nmixtures", 3); 
//bg.bShadowDetection = false; 
std::vector<std::vector<cv::Point> > contours; 

cv::namedWindow("Frame"); 
cv::namedWindow("Background"); 

for (;;) { 
    cap >> frame; 
    bg.operator()(frame, fore); 
    bg.getBackgroundImage(back); 
    cv::erode(fore, fore, cv::Mat()); 
    cv::dilate(fore, fore, cv::Mat()); 
    cv::findContours(fore, contours, CV_RETR_EXTERNAL, 
      CV_CHAIN_APPROX_NONE); 
    cv::drawContours(frame, contours, -1, cv::Scalar(0, 0, 255), 2); 
    cv::imshow("Frame", frame); 
    cv::imshow("Background", back); 
    if (cv::waitKey(30) >= 0) 
     break; 
} 
return 0;} 
+1

Какая ошибка вы получаете? –

ответ

1
const int nmixtures =3; 
const bool bShadowDetection = false; 
cv::BackgroundSubtractorMOG2 bg(nmixtures,bShadowDetection); 

Измените код, как это. Это будет работать .

Смежные вопросы