salvando uma sequência de imagens do vídeo usando opencv2

Novato pergunta e sim eu passei muito tempo analisando questões semelhantes e respostas sem sorte.

O que estou tentando fazer é salvar quadros de um arquivo de vídeo em uma ordem seqüencial. Eu consegui salvar uma imagem usando c e não consigo salvar as imagens depois disso. Eu comecei a usar o c ++ no opencv em vez de c e tudo que eu posso fazer é ver o vídeo e não salvar nenhum jpg dele.

Eu estou usando o opencv2.4.4a no mac se isso ajudar. abaixo é o meu exemplo c

#include <stdio.h>
#include <stdlib.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <iostream>

using namespace cv;
using namespace std;

int main (int argc, char** argv)
{
//initializing capture from file
CvCapture * capture = cvCaptureFromAVI ("/example/example.mov");

//Capturing a frame
IplImage* img = 0;
if(!cvGrabFrame(capture))      //capture a frame
{
printf)Could not grab a fram\n\7");
exit(0);
}
img=cvRerieveFrame(capture);    //retrieve the captured frame

//writing an image to a file
if (!cvSaveImage("/frames/test.jpg", img))
printf("Could not save: %s\n","test.jpg");

//free resources
cvReleaseCapture(&capture);

}

Agradeço antecipadamente

editar para o acima.

Eu adicionei ao código acima que resulta em uma imagem a ser salva com o test.jpg e, em seguida, fica reescrito com o próximo quadro. Como eu digo ao opencv para não copiar a última imagem e renomear o próximo quadro para test_2.jpg, por exemplo, test_1.jpg, test_2.jpg e assim por diante?

double num_frames = cvGetCaptureProperty (capture, CV_CAP_PROP_FRAME_COUNT);

for (int i = 0; i < (int)num_frames; i++)
{
img = cvQueryFrame(capture);
cvSaveImage("frames/test.jpg", img);
}

cvReleaseCapture(&capture);
}

questionAnswers(3)

yourAnswerToTheQuestion