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
Mon appli plante sur cvReleaseImage(&image);
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; }
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,
Partager