Захват кадра OpenCV из AVI

Я работаю над проектом с openCV 2.2. Мне нужно обработать каждый кадр файла AVI, но когда я запускаю свой код, он захватывает только первый кадр файла. CV_CAP_PROP_POS_FRAMES, похоже, не работает. Есть идеи, почему бы и нет?

    CvCapture* capture = cvCaptureFromAVI("test1.avi");

    IplImage *img = 0;

    if (!cvGrabFrame(capture)) {
            printf("Error: Couldn't open the image file.\n");
            return 1;
    }

    int numFrames = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_COUNT);
    int posFrame = 1;
    for(int i =0; i <= numFrames; i++){
        cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES, i);
              posFrame = cvGetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES);

              img = cvGrabFrame(capture);
              cvNamedWindow("Image:", CV_WINDOW_AUTOSIZE);
              cvShowImage("Image:", img);
              printf("%i\n",posFrame);

              cvWaitKey(0);

              cvDestroyWindow("Image:");
    }
5
задан Chris Mondiek 13 May 2012 в 05:19
поделиться