Installation OpenCV 3.1 et Visual Studio 2015 x64

Source vidéo (mars 2016) : https://www.youtube.com/watch?v=l4372qtZ4dc

Les grandes lignes

  • Télécharger OpenCV
  • Décompresser OpenCV dans un endroit permanent. Exemple : c:\sources\lib
  • Pour faciliter la configuration, il faut maintenant ajouter le chemin vers OpenCV à une variable d’environnement que l’on nommera « OPENCV_DIR ». Dépendant de la configuration de votre machine et de la version de Visual Studio.
    • Windows 10 x64 avec VS2015
      • Dans une fenêtre d’invite de commande, taper :
        setx -m OPENCV_DIR c:\sources\lib\opencv
  • Dans les propriétés de l’ordinateur soit en cliquant avec le bouton de droite sur « Ce PC »,
    • Sélectionner « Advanced system settings ».
    • Cliquer sur « Environment variables… »
    • Dans les variables systèmes, rechercher « Path » et cliquer sur « Edit »
    • Aller à la fin et ajouter « %opencv_dir%\build\x64\vc14\bin »
    • Fermer les fenêtres en cliquant sur « Ok »
  • Tester en ouvrant la ligne de commande et taper « path ».
    • Le chemin vers le dossier binaire d’OpenCV devrait être présent à la fin.
  • À partir de ce point, OpenCV est installé. Ceci est la partie facile!

 

Configurer un projet pour utiliser OpenCV

Source

  1. Ouvrir Visual Studio 2015.
  2. Démarrer un nouveau projet de type « Application console Win32 » dans la section Visual C++.
  3. Cliquer sur « Suivant » pour afficher des options de configuration de base du projet.
  4. Cocher « Projet vide » et décocher « SDL ».
  5. Cliquer sur « Terminer ».
  6. Dans le panneau « Explorateur de solutions », ajouter un fichier CPP au dossier « Fichiers sources ».
    1. Pour des fins de test vous pouvez prendre le fichier « morphology2.cpp » qui est dans le dossier des échantillons CPP d’OpenCV.
  7. Afficher le « Gestionnaire de propriétés », Affichage à Autres fenêtres

  8. Dans le « Gestionnaire de propriétés », sélectionner le projet racine (Nom du projet)
  9. Cliquer-droit dessus et sélectionner « Ajouter une nouvelle feuille de propriétés de projet»
  10. Donner un nom et un emplacement pour la feuille. Exemple : opencv_3_1_debug
    1. Une fois le projet bien configuré, il sera alors possible de récupérer le fichier de configuration pour les projets futurs. Je vous suggère de sauvegarder ce fichier dans un endroit permanent.
  11. Double-cliquer sur la nouvelle feuille de propriétés qui est dans le dossier « Debug | x64 ».
  12. Dans la fenêtre « Page de propriétés de XYZ », ouvrir Propriétés communes à C/C++.
  13. Dans « Autres répertoires Include », ajouter « $(OPENCV_DIR)\build\include ».
    1. OPENCV_DIR est la variable d’environnement ajoutée dans la section précédente.
    2. $(variable) permet d’utiliser les variables d’environnement dans VS.
  14. Ouvrir Propriétés communes à Éditeur de liens.
  15. Dans la section « Répertoires des bibliothèques supplémentaires », ajouter « $(OPENCV_DIR)\build\x64\vc14\lib ».
    1. Évidemment cela dépendra de la plateforme qui sera utilisée.
  16. Dans la catégorie « entrée », ajouter dans la zone « Dépendances supplémentaires » « opencv_world310d.lib »
    1. Le chiffre 310 représente la version d’OpenCV et le « d » à la fin représente des librairies de débogage.
  17. Fermer la page de propriétés
  18. Sauvegarder la page des propriétés dans le « Gestionnaire des propriétés » en cliquant sur le bouton disquette
  19. Dans le « Gestionnaire des propriétés », double-cliquer sur le nom du projet.
  20. Sélectionner la plateforme « x64 »
  21. Cliquer « Ok » sur la page des propriétés.
  22. Dans le « Gestionnaire des propriétés », sélectionner le projet.
  23. Maintenant, on peut tester un code simple pour valider la configuration.
    1. Ajouter un fichier JPG dans un dossier test.
    2. Copier le code suivant :

#include <opencv2/imgproc/imgproc.hpp>

#include <opencv2/highgui/highgui.hpp>

#include <opencv2/core/core.hpp>

 

using namespace std;

using namespace cv;

 

int main (int argc, char *argv[])

{

    Mat img;

    

    char *filename = « d:\\temp\\test.jpg »;

    char *winName = « Principale »;

 

    img = imread(filename);

    

    namedWindow(winName);

 

    imshow(winName, img);

    waitKey(0);

 

    return 1;

}

  1. Si cela ne fonctionne, voir la section « Problèmes de configuration possible ».

 

Problèmes de configuration possible

Voici quelques problèmes que j’ai personnellement rencontrés lors de différentes tentatives de configuration.

La variable d’environnement n’est pas définie

  1. Ouvrir une fenêtre de ligne de commande.
  2. Taper « echo %OPENCV_DIR% »
  3. Si cela affiche le chemin vers le répertoire d’OpenCV, alors ce n’est pas le problème.

La plateforme indique x64 (ou x86)

  1. Ouvrir les propriétés du fichier de propriétés dans le « Gestionnaire des propriétés ».
  2. Sous éditeur de liens, vérifier que la propriété « Répertoires de bibliothèques supplémentaires » pointe vers la bonne plateforme.
  3. Vérifier que le projet racine soit configuré sous la bonne plateforme. Voir le point 21 de la section précédente.

Le fichier tbb_debug.dll est manquant (obsolète?)

Ce fichier est bel et bien présent dans la structure de répertoire d’OpenCV. Cependant pour une raison inconnue, je n’ai pas été en mesure de faire en sorte que le projet aille chercher le fichier directement.

Pour pallier à ce problème, j’ai tout simplement copié les fichiers tbb_debug.dll et tbb.dll dans le dossier « $(OPENCV_DIR)\build\ x64\vc10\bin ». Les fichiers se retrouvent dans « $(OPENCV_DIR)\common\tbb\intel64\vc10 ». Cela dépendra encore une fois de votre plateforme.

 

Librairies pour la version 2.49

opencv_core249d.lib

opencv_imgproc249d.lib

opencv_highgui249d.lib

opencv_ml249d.lib

opencv_video249d.lib

opencv_features2d249d.lib

opencv_calib3d249d.lib

opencv_objdetect249d.lib

opencv_contrib249d.lib

opencv_legacy249d.lib

opencv_flann249d.lib


Publié

dans

,

par

Étiquettes :

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.