Tutoriel installation OpenCV
Transcription
Tutoriel installation OpenCV
Tutoriel installation OpenCV∗ (pour développement en C++) J. Arzi Courriel : contact AT tsdconseil.fr 1er juillet 2016 Avant-propos Le but de ce tutoriel est de vous aider à installer la librairie de traitement d’image OpenCV, dans le but d’écrire des programmes de traitement d’image en C++. Table des matières 1 Installation sous Windows 1.1 À partir des sources (OpenCV 3.0) et avec ECLIPSE et MINGW (GCC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 À partir des binaires (OpenCV 2.4) et avec Visual Studio 2013 . 2 2 Installation sous Linux 2.1 À partir des sources (OpenCV 3.0) . . . . . . . . . . . . . . . . . 7 7 3 Validation de l’installation 8 2 6 ∗ La version la plus récente de ce document est disponible à cette adresse : http://www.tsdconseil.fr/tutos/index.html 1 1 Installation sous Windows 1.1 À partir des sources (OpenCV 3.0) et avec ECLIPSE et MINGW (GCC) 1. Installation de MINGW. MINGW est un ensemble d’outils UNIX de base pour Windows. Il comprends en autre un terminal, le compilateur GCC / G++, l’utilitaire make et un ensemble d’utilitaires et de commandes de base UNIX (ls, cat, tail, cp, ...). (a) Télécharger et exécuter l’installeur (https://sourceforge.net/projects/mingw/files/Installer/), (b) Pendant l’installation, bien sélectionner l’ajout du compilateur G++ (GCC pour C++), (c) Ajouter dans le PATH de Windows les deux dossiers suivants : – C:\MinGW\bin – C:\MinGW\msys\1.0\bin (d) Ouvrir un terminal MINGW ou MSYS (un raccourci devrait avoir été créé sur votre bureau pendant l’installation, sinon il suffit de lancer le fichier msys.bat situé dans le dossier C:\MinGW\msys\1.0), et saisir la commande suivante : g++ --version Si vous n’avez pas de message d’erreur, alors tout c’est bien passé. Normalement, la version de GCC affichée devrait être supérieure ou égale à la 4.6.2. 2. Installation d’Eclipse C / C++. Eclipse est un environnement de développement très pratique, qui vous permettra d’éditer / débugger vos programmes C++ de manière conviviale. (a) À partir de la page https://eclipse.org/downloads/, télécharger Eclipse IDE for C/C++ Developpers . (b) Extraire l’archive dans le dossier de votre choix (par exemple, c:\eclipse) (c) A l’intérieur, vous devriez trouver un fichier nommé eclipse.exe (pour lequel vous pouvez vous créer un raccourci) que vous pouvez exécuter : Eclipse devrait démarrer. (d) Nous ferons la configuration d’Eclipse pour OpenCV ultérieurement (après l’installation de OpenCV) 3. Installation de l’outil CMAKE (pour pouvoir compiler OpenCV) (a) Sur la page https://cmake.org/download/, télécharger et exécuter l’installeur binaire pour windows (par exemple, cmake-3.5.0-win32-x86.msi) 4. Installation d’OpenCV 3.0 (note : cette procédure devrait fonctionner aussi avec OpenCV 3.1) (a) Télécharger les source d’OpenCV 3.0 sur le site officiel (http://opencv.org/downloads.html) et extraire l’archive (normalement c’est un fichier éxecutable / archive auto-extractible) dans le dossier de votre choix (si possible un dossier accessible de manière simple et sans espaces dans les noms, comme par exemple c:\opencv) 2 (b) Dans le répertoire extrait, vous devriez trouver un dossier sources et un dossier build ou release (vous pouvez supprimer maintenant ce dernier dossier, qui contient les binaires pour Visual Studio, que nous n’allons pas utiliser). (c) Ouvrir le fichier C:\opencv\sources\cmake\OpenCVCompilerOptions.cmake, et aux alentours de la ligne 67, commenter (en ajoutant un dièse en début de ligne) la ligne suivante : add_extra_compiler_option(-Werror=non-virtual-dtor) (d) Lancer l’outil graphique cmake (e) Sélectionner le dossier où sont les sources d’OpenCV (par exemple, c:\opencv\sources) (f) Sélectionner où vous souhaitez stocker les fichiers intermédiaires (par exemple, c:\opencv\build). Note : ce n’est pas grave si ce dossier n’existe pas encore, il sera créé par l’outil CMAKE. (g) Appuyer sur le bouton Configure (attention : si le logiciel vous demande de choisir la chaine de compilation, bien choisir l’option MINGW with MSYS makefile ), valider les options proposées par défaut, et après quelques minutes, il devrait y avoir un message d’erreur (c’est normal). (h) Dans la liste proposée, décocher l’option WITH_IPP : 3 (i) Appuyer à nouveau sur le bouton vrait plus survenir d’erreur. (j) Appuyer sur le bouton Configure , cette fois il ne de- Generate et attendre quelques instants (k) Ouvrir un terminal MINGW / MSYS, et aller dans le dossier de build OpenCV grâce à la commande : cd /c/opencv/build (l) Puis lancer la compilation avec la commande make de MINGW : mingw32-make install Attendre alors quelques dizaines de minutes. 4 (m) Ajouter dans le PATH de Windows le dossier c:\opencv\install\...\bin (chercher le dossier qui contient les DLL) 5. Configuration d’un projet Eclipse avec OpenCV : (a) Lancer Eclipse, et créer un nouveau projet C++ (File->New C++ project). Comme type de projet, choisir Hello world project , et, comme chaı̂ne de compilation, bien choisir MinGW GCC (b) Cliquer droit sur le projet (arbre à gauche), et sélectionner Properties (c) Aller dans les options de C/C++ build/settings (d) Aller dans GCC C++ Compiler/Include : dans la liste des include paths, ajouter le chemin c:\opencv\build\install\include (e) Aller dans MINGW Linker/Libraries : dans la liste library search path, ajouter le chemin c:\opencv\build\lib\... (trouver le chemin qui contient les fichiers en .a) (f) Dans la même feuille de propriétés (plus haut), ajouter les différentes librairies : opencv_core300, opencv_imgproc300, opencv_highgui300, opencv_imgcodecs300 – Note (1) : Remplacer éventuellement le nombre 300 par votre version d’OpenCV. – Note (2) : Si vous avez compilé OpenCV en mode débug (les fichiers .a se terminent par un d), alors remplacer opencv_core300 par opencv_core300d (et ainsi de suite pour les autres librairies). (g) Remplacer le contenu du fichier source créé par Eclipse par le contenu suivant : #include <opencv2/opencv.hpp> int main(int argc, char **argv) { // Rectangle vert 300 par 200 cv::Mat img(200,300,CV_8UC3,cv::Scalar(0,255,0)); cv::imshow("Essai", img); // Attente appui sur une touche cv::waitKey(0); return 0; } (h) Après compilation (clic droit sur le projet, Build Project), vous devriez pouvoir exécuter cet exemple (bouton Run en haut de la fenêtre), qui devrait afficher un rectangle vert à l’écran. 5 1.2 À partir des binaires (OpenCV 2.4) et avec Visual Studio 2013 Ci-dessous vous est proposé une installation à partir des binaires (OpenCV 2.4) et pour une utilisation avec Visual Studio 2013. Cette installation est rapide car elle ne nécessite pas de recompiler la librairie. Néanmoins, pour pouvoir utiliser une version plus récente de OpenCV ou bien avec un autre environnement de développement (par exemple MINGW / GCC), l’idéal est de recompiler soit même OpenCV (l’outil CMAKE permet de configurer les paramètres). Note : il est a priori aussi possible de faire la configuration Visual Studio 2015 + OpenCV 3.0, en suivant les mêmes opérations (à confirmer). Tutorial aimablement fournit par Veolia R&D : Bonjour, Pour information, OpenCV 2.4 n’est pas fourni pour Visual Studio 2015. En effet, dans le dossier Build, on a les VC 10 à 12, sachant que 12 est compatible avec VS2013 maximum. Sur Visual Studio 2013, voici la solution pour que ça fonctionne. [Sur la page http://opencv.org/downloads.html, installer "OpenCV 2.4 for Windows"] changer le PATH (fait à vie) Variable d’environnement Rajouter : ;C:/opencv/build/x86/bin Rallumer PC [Ou juste redémarrer VS ?] Dans VS 2013 créer nouveau projet Dans "Debug Win 32", ajouter une feuille de propriété de projet et nomme OPENCV_DEBUG Aller sans les propriétés de cette feuille de projet Répertoires VC++ Répertoires Include, rajouter : C:\opencv\build\include Répertoires de bibliothèque, rajouter : C:\opencv\build\x86 C/C++ Autres répertoires Include, rajouter : $(OPENCV_DIR)\..\..\include Editeurs de liens \ Entrée Dépendances supplémentaires, rajouter : c:\opencv\build\x86\vc12\lib\opencv_calib3d2410d.lib c:\opencv\build\x86\vc12\lib\opencv_contrib2410d.lib c:\opencv\build\x86\vc12\lib\opencv_core2410d.lib c:\opencv\build\x86\vc12\lib\opencv_features2d2410d.lib c:\opencv\build\x86\vc12\lib\opencv_flann2410d.lib c:\opencv\build\x86\vc12\lib\opencv_gpu2410d.lib c:\opencv\build\x86\vc12\lib\opencv_highgui2410d.lib c:\opencv\build\x86\vc12\lib\opencv_imgproc2410d.lib c:\opencv\build\x86\vc12\lib\opencv_legacy2410d.lib c:\opencv\build\x86\vc12\lib\opencv_ml2410d.lib c:\opencv\build\x86\vc12\lib\opencv_nonfree2410d.lib c:\opencv\build\x86\vc12\lib\opencv_objdetect2410d.lib 6 c:\opencv\build\x86\vc12\lib\opencv_ocl2410d.lib c:\opencv\build\x86\vc12\lib\opencv_photo2410d.lib c:\opencv\build\x86\vc12\lib\opencv_stitching2410d.lib c:\opencv\build\x86\vc12\lib\opencv_superres2410d.lib c:\opencv\build\x86\vc12\lib\opencv_ts2410d.lib c:\opencv\build\x86\vc12\lib\opencv_video2410d.lib c:\opencv\build\x86\vc12\lib\opencv_videostab2410d.lib 2 2.1 Installation sous Linux À partir des sources (OpenCV 3.0) Dans un terminal Linux, exécuter les lignes de commande suivantes (ou exécuter le script install-opencv-dev.sh, qui fait parti des fichiers associés à ce tutoriel, et qui lance l’ensemble de ces commandes) : $ cd ~/ $ sudo aptitude update $ sudo aptitude upgrade $ sudo aptitude install build-essential cmake pkg-config libjpeg8-dev \ libtiff4-dev libjasper-dev libpng12-dev libavcodec-dev libavformat-dev \ libswscale-dev libv4l-dev libgtk2.0-dev libatlas-base-dev gfortran $ wget https://github.com/Itseez/opencv/archive/3.0.0.tar.gz $ tar -zxvf 3.0.0.tar.gz $ rm -rf 3.0.0.tar.gz $ wget https://github.com/Itseez/opencv_contrib/archive/3.0.0.tar.gz $ tar -zxvf 3.0.0.tar.gz $ rm -rf 3.0.0.tar.gz $ cd opencv-3.0.0 $ mkdir build $ cd build/ $ cmake \ -DCMAKE_BUILD_TYPE=RELEASE \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DINSTALL_C_EXAMPLES=ON \ -DOPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.0.0/modules \ -DBUILD_EXAMPLES=ON \ -DBUILD_SHARED_LIBS=ON \ -DWITH_GTK=ON \ ../ $ make --jobs=4 $ sudo make install $ sudo ldconfig 7 3 Validation de l’installation Vous devriez pouvoir compiler et exécuter le programme très simple suivant (résultat attendu = affichage d’un rectangle vert à l’écran) : #include <opencv2/opencv.hpp> int main(int argc, char **argv) { // Rectangle vert 300 par 200 cv::Mat img(200,300,CV_8UC3,cv::Scalar(0,255,0)); cv::imshow("Essai", img); // Attente appui sur une touche cv::waitKey(0); return 0; } Pour compiler ce programme, vous pouvez utiliser la ligne de commande suivante : g++ exemple.cc -lopencv_core -lopencv_highgui Note : si êtes sous Windows (MINGW), il faut aussi préciser où sont situées les librairies OpenCV, grâce à la commande -L$(OCVPATH)/x86/mingw/lib, où $(OCVPATH) est le chemin où vous avez construit OpenCV. Vous pouvez aussi utilisez, du moins sous Linux, l’outil pkg-config : g++ exemple.cc ‘pkg-config opencv --cflags --libs‘ Vous pouvez aussi télécharger ce programme et le Makefile correspondant à cette adresse : http://www.tsdconseil.fr/tutos/opencv-exsimple.zip 8
Documents pareils
Projet console Visual C++ 2010 avec OpenCV
Télécharger la librairie EmguCV. Elle contient toute la librairie OpenCV avec, en plus, la
librairie nécessaire pour utiliser OpenCV avec C#.
Cette librairie est disponible à l'adresse :
http://sou...
Comment Installer une Plateforme de Développement
http://www.01net.com/telecharger/windows/Programmation/langage/fiches/2327.html
Le programme s’intalle par défaut dans le repertoire: c:/dev-cpp