Compréhension de cvReleaseImage
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:
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,