Bonjour,
Je découvre OpenCV, et redécouvre par la même occasion C++ et Visual studio.
Je cherche à convertir une vidéo en plusieurs fichier d'images.

Et j'ai un souci sur le cvReleaseImage, celui-ci me lance une exception.

Voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
int main(int argc,char** argv)
{
   fprintf(stderr,"Start grabbing video\n");
    int index  = 1;
    char MonChemin[50];
    CvCapture *capture = 0; 
    cv::Mat img;
    IplImage *image = new IplImage(img);
 
   capture = cvCaptureFromAVI("----");
   if(!cvGrabFrame(capture))
   {
           fprintf(stderr,"Could not grab a frame\n\7");
           return -2;
   }
 
    while(cvGrabFrame(capture))
    {
		image = cvRetrieveFrame(capture);
		if(!image) break;
		std::sprintf(MonChemin,"-----",index);
		index+=1;
		if (!cvSaveImage(MonChemin,image))
		{
			fprintf(stderr,"Don't save : %s\n",MonChemin);
		}else 
		{
			fprintf(stderr,"Save in : %s\n",MonChemin);
		}
 
	}	
	fprintf(stderr,"End grabbing n\n");
 
 
	*MonChemin = 0;	
	cvReleaseCapture(&capture);
	cvReleaseImage(&image);
	img.release();
	return 0;
}
Mon appli plante sur cvReleaseImage(&image);
Quelqu'un peut m'expliquer pourquoi ce plantage et comment le résoudre?
Est ce que j'utilise correctement l'instance cv::Mat Img ?

Merci de votre aide.
Cordialement,