Calibration de caméras (cvFindChessBoard)
Bonjour,
J'apprends en ce moment a me servir de la librairies OpenCV et je voulais essayer de calibrer des cameras. Pour cela je souhaite utiliser dans un premier temps la fonction cvFindChessboardCorners...
Tout se compile sans probleme, et c'est a l'execution au moment d'afficher le resultat a l'aide de cvShowImage que le programme crash.
Voici le 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 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#include <cv.h>
#include <highgui.h>
#include <stdio.h>
#include <iostream>
using namespace std;
int main(void)
{
char c;
CvSize pattern_size = cvSize(13,26);
int *corner_count=new int,pattern_was_found=0;
CvPoint2D32f* corners = new CvPoint2D32f;//(CvPoint2D32f*)malloc(220 * sizeof(CvPoint2D32f));
cvNamedWindow("Calibration", 0);
cvMoveWindow( "Calibration", 500, 0);
cvNamedWindow("Originale", 0);
cvMoveWindow( "Originale", 0, 0);
IplImage* image = cvLoadImage("calibration_1.JPG",1);
IplImage* imgCorner = cvCreateImage(cvGetSize(image), 8, 1);
pattern_was_found = cvFindChessboardCorners(image, pattern_size, corners,
corner_count, CV_CALIB_CB_NORMALIZE_IMAGE );
cvDrawChessboardCorners(imgCorner, pattern_size,corners, *corner_count, pattern_was_found );
while(1)
{
cvShowImage("Originale",image);
cvShowImage("Calibration",imgCorner);
c=cvWaitKey(15);
if(c==' ')
{
cout<<"exiting..."<<endl;
cvDestroyAllWindows();
cvReleaseImage(&image);
cvReleaseImage(&imgCorner);
cout<<"...end"<<endl;
break;
}
}
return 0;
} |
Je ne comprends pas d'ou vient l'erreur d'execution segmentation fault... Merci d'avance !