2011-05-30 3 views
1

Je ne pouvais pas démarrer une application OpenCV sous Windows.Comment faire fonctionner OpenCV sous Windows?

Compte tenu du programme de OpenCV simple:

#include <stdio.h> 
#include <stdlib.h> 
#include <iostream> 
#include <fstream> 

#include "cv.h" 
#include "highgui.h" 

char imagename[100] = "sudoku.jpg"; 

IplImage* img; 

int main(int argc, char** argv) { 
    cvInitSystem(argc, argv); 

    cvNamedWindow("Example4", CV_WINDOW_AUTOSIZE); 
    IplImage* img = cvLoadImage(imagename); 

    cvShowImage("Example4", img); 
    cvWaitKey(0); 
    cvDestroyWindow("Example4"); 
    return (0); 
} 

Je peux compiler et commencer à utiliser une bibliothèque OpenCV précompilé version 2.2, l'image référencée apparaît dans une fenêtre. (La compilation a fonctionné en utilisant netbeans et cygwin ou propre makefile avec 5 lignes et minGW). Ensuite, je voulais utiliser les appels de fonction C++ dans OpenCV mais la compilation n'a pas fonctionné donc basé sur this answer J'ai décidé de recompiler OpenCV suivant this installation guide et this getting started guide.

L'utilisation de minGW et de CMake OpenCV a été compilée sans problème. Je n'ai utilisé aucun paquet optionnel pour la compilation d'opencv.

Malheureusement aucun programme pourrait être démarré car seule une fenêtre grise apparaît et après tout l'application se bloque et le message d'erreur suivant est donnée par Windows:

Problem signature: 
    Problem Event Name: APPCRASH 
    Application Name: main.exe 
    Application Version: 0.0.0.0 
    Application Timestamp: 4de3a2d9 
    Fault Module Name: libopencv_highgui220.dll 
    Fault Module Version: 0.0.0.0 
    Fault Module Timestamp: 4dcd07e6 
    Exception Code: c0000005 
    Exception Offset: 0002def4 
    OS Version: 6.1.7600.2.0.0.256.4 
    Locale ID: 1033 
    Additional Information 1: 0a9e 
    Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 
    Additional Information 3: 0a9e 
    Additional Information 4: 0a9e372d3b4ad19135b953a78882e789 

Quel pourrait être le problème?

J'ai essayé de compiler à partir de Netbeans, avec mon propre Makefile et avec Cmake-gui et les cadres ont été créés sans problème. J'ai inclus le répertoire opencv bin dans le PATH pour rendre visible le libopencv_highgui220.dll mentionné.

Mise à jour:

Suite à la procédure précédente, je suis exactement le même résultat sur un Windows XP Professionnel: OpenCV et la construction du projet est OK, mais en cours d'exécution se bloque. Il n'y a pas d'autres compilateurs C, C++ et IDE sur cette machine qui peuvent interférer avec ma compilation opencv.

Répondre

2

J'ai posté le same question sur le forum opencv et j'ai eu une réponse.

Le problème était que j'utilisais le répertoire lib ou le répertoire bin opencv pour la liaison et le PATH. En utilisant le guide d'installation, il s'est avéré que je devais utiliser le répertoire lib pour le lien et le répertoire bin pour le PATH. L'utilisation combinée de dll.a dans lib et dll dans bin était nouvelle pour moi.

J'ai donc suivi le CodeBlocks+MinGW guid e étape par étape pour résoudre le problème, en outre lorsque j'utilise mon précédent MinGW opencv construit sans CodeBlocks que le code C ou le code C++ fonctionne correctement.

Questions connexes