Subscribe:

Ads 468x60px

jeudi 19 janvier 2012

Installer et configurer OpenCV 2.3.1 version C++ avec Qt sous Windows 7

J'ai récemment eu à programmer en C++ en utilisant la bibliothèque de vision par ordinateur OpenCV. J'ai d'abord travaillé sous linux où j'ai grâce aux tutoriels cités dans cet article pu mettre en place l'environnement de developpement. Puis j'ai dû sortir une version Windows de mon programme. je ne sais pas s'il existe des solutions pour compiler pour windows sous linux mais j'ai trouvé plus simple de remettre tout l'environnement en place sous Windows.
Pour celà j'ai suivi les étapes suivantes:
  1. Télécharger Qt et OpenCV 2.3.1:
    • Pour Qt j'ai utilisé la version Offline Installer telechargeable ici; si vous utilisez une autre version assurez vous qu'elle utilise mingw comme compilateur (Qt creator avec l'option mingw par exemple).
    • Pour OpenCV j'ai utilisé la version win-superpack ici , mais ce dont on a besoin c'est le code source de OpenCV.
  2. Installer Qt et OpenCV, pour OpenCV c'est juste une extraction. Après ça il faut s'assurer que dans le dossier d'install de Qt il y'a un dossier mingw, puis ajouter mingw à la variable d'environnement PATH.
  3. Télécharger ici et installer CMake; il va nous servir à compiler OpenCV avec mingw.
  4. Compiler OpenCV en suivant ce guide pour OpenCV2.2 jusqu'à l'étape 20. Noter le dossier où vous avez alors installé opencv (spécifié à l'étape 7). Si tout s'est bien passé, à "C:\<chemin du dossier dont je viens de parler>\install\bin" vous devez trouver les fichiers dll librairies de opencv (libopencv_core231d.dll si vous avez choisi DEBUG, ou libopencv_core231.dll si vous avez choisi RELEASE, ...). S'ils n'y sont pas bah soit c'est le mauvais soit la compilation s'est mal passée.
  5. Ajouter les lignes suivantes ou moins dans votre programme:
INCLUDEPATH += C:/OpenCV2.3MinGW/install/include \
C:/OpenCV2.3MinGW/install/include/opencv
LIBS += -LC:/OpenCV2.3MinGW/install/bin \
-llibopencv_core231d \
-llibopencv_highgui231d \
-llibopencv_imgproc231d \
-lopencv_ffmpeg
où OpenCV2.3MinGW est le dossier où j'ai choisi d'installer opencv.

Vous pouvez ajouter d'autres librairies de OpenCV présentes dans le dossier "install/bin" si vous les utilisez dans votre programme.

Pour réutiliser votre programme en mode standalone, il suffit de copier les fichiers QCore4.dll,libgcc_s_dw2-1.dll,QtGui4.dll (disponibles quelque part dans le dossier d'installation de Qt; moi je les ai trouvés dans "C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin") dans le même dossier que votre exécutable. Il faut aussi les fichiers dll correspondants aux librairies de OpenCV utilisées (dont probalement libopencv_core.dll) situées pour moi dans "C:/OpenCV2.3MinGW/install/bin".

Attention: il y a la lettre 'd' qui s'ajoute au nom des fichiers de librairies selon que vous êtes en debug ou en release.

Pour toute précision ou question, laissez un commentaire.
Hope it helps someone.

0 comments:

Enregistrer un commentaire