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

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...

Plus en détail

Comment Installer une Plateforme de Développement

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

Plus en détail

Utilisation d`OpenCV

Utilisation d`OpenCV • Pour choisir un intervalle plutôt qu’un seuil, la fonction

Plus en détail