Bonjour,
Je viens d'installer OpenCV 2.3.1 sur mon pc (Windows 7 32 bits). J'utilise Eclipse CDT (Eclipse Indigo Service Release 2) avec MinGW (gcc/g++ version 4.6.1). J'ai été voir la doc officielle d'OpenCV 2.3.1 (http://opencv.itseez.com/index.html) et j'ai essayé de faire tourner un bout de code tout simple du tutoriel suivant : http://opencv.itseez.com/doc/tutoria...#display-image (juste afficher une image dans une fenêtre)
Mais impossible de faire marcher ce 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 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> int main( int argc, char** argv ) { if( argc != 2) { std::cout <<" Usage: display_image ImageToLoadAndDisplay" << std::endl; return -1; } cv::Mat image; image = cv::imread(argv[1], CV_LOAD_IMAGE_COLOR); if(! image.data ) { std::cout << "Could not open or find the image" << std::endl ; return -1; } cv::namedWindow( "Display window", CV_WINDOW_AUTOSIZE ); cv::imshow( "Display window", image ); cv::waitKey(0); return 0; }
La compilation se passe bien (j'ai ajouté le dossier bin au PATH, donner le chemin vers les dossiers include et les librairies,...) mais lorsque j'exécute le programme avec une image bmp (ou même avec une image jpeg ou png) en paramètre, une fenêtre s'ouvre (elle porte bien le nom : Display window) et puis elle se grise et j'ai le message Windows : Test_OpenCV.exe a cessé de fonctionner etc...
j'ai bien configuré la version Release et non pas la version Debug car il n'y a pas de dll de debug pour MinGW. J'ai également essayé de mettre les dll dans le répertoire de l'exécutable ou d'utiliser un code plus orienté C avec des IplImage etc... mais rien n'y fait ! impossible d'ouvrir une fenêtre.
par contre dans le deuxième tuto (conversion d'une image couleur en niveau de gris) : http://http://opencv.itseez.com/doc/...#display-image
La fonction cvtColor marche et la fonction imwrite aussi (j'ai bien l'image enregistrée au bon endroit) mais là aussi pas moyen d'afficher les images !
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 #include <cv.h> #include <highgui.h> using namespace cv; int main( int argc, char** argv ) { char* imageName = argv[1]; Mat image; image = imread( imageName, 1 ); if( argc != 2 || !image.data ) { printf( " No image data \n " ); return -1; } Mat gray_image; cvtColor( image, gray_image, CV_RGB2GRAY ); imwrite( "./Gray_Image.jpg", gray_image ); namedWindow( imageName, CV_WINDOW_AUTOSIZE ); namedWindow( "Gray image", CV_WINDOW_AUTOSIZE ); imshow( imageName, image ); imshow( "Gray image", gray_image ); waitKey(0); return 0; }
Est ce que quelqu'un a déjà rencontré ce problème ? Est ce un problème connu de OpenCV 2.3.1 ?
Merci pour votre aide, bonne journée.
Partager