Installation d’OpenCV sur le Raspberry Pi

Installation dOpenCV sur le Raspberry Pi
Installation dOpenCV sur le Raspberry Pi

Quiconque a traité le traitement d’image en relation avec le Raspberry Pi rencontrera tôt ou tard le OpenCV bibliothèque. Il fournit de nombreuses fonctionnalités très utiles telles que la reconnaissance faciale, la création de cartes de profondeur (vision stéréo, flux optique), la reconnaissance de texte ou même pour l’apprentissage automatique. De plus, OpenCV (Open Source Computer Vision) peut être intégré à la fois dans ses fichiers C ++ et ses scripts Python.
Surtout en termes de reconnaissance des fonctionnalités dans les images prises par le Raspberry Pi, OpenCV est très utile.

Ce tutoriel avancé montre comment installer OpenCV sur le Raspberry Pi et comment l’intégrer dans Python.

Pour le moment, je voudrais recommander à tout le monde un Raspberry Pi modèle B à utiliser, car il est beaucoup plus puissant que son prédécesseur. Même sur un Raspberry Pi B +, la compilation prend environ 6 fois plus de temps, avec un Pi 2 au total « seulement » prend environ une heure.

Tout d’abord, nous mettons à jour les listes de packages:

sudo apt-get update && sudo apt-get upgrade && sudo rpi-update

Un redémarrage est nécessaire s’il a été mis à jour.

sudo reboot

Ensuite, vous pouvez installer tous les outils et bibliothèques importants nécessaires à OpenCV (l’installation prend quelques minutes).

sudo apt-get install build-essential git 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

Si tout fonctionnait, nous pourrions cloner OpenCV de git. Cette étape prend également quelques minutes.

git clone https://github.com/Itseez/opencv.git && cd opencv &&git checkout 3.0.0

C’est à vous de décider si la version 3.0 ou 2.4 d’OpenCV est prise. Selon l’application, l’une des versions peut être mieux adaptée.

Ensuite, OpenCV peut être compilé. Vous pouvez utiliser Python 2.7 ou Python 3+. Il existe quelques différences entre les versions, d’autant plus que certaines bibliothèques ne sont pas (encore) exécutables avec Python 3+. Cependant, cela affecte principalement les petites bibliothèques, car les bibliothèques communes (NumPy, SciPy, etc.) fournissent généralement les fichiers respectifs pour les deux versions.

Dans ce tutoriel, j’utilise Python 2.7. Si vous avez déjà installé Python et que vous voulez savoir quelle version est installée, vous pouvez simplement entrer python dans la console et obtenez la version exacte au début (la commande pour Python 3+ est python3). Si vous n’avez pas installé de Python, vous pouvez l’installer en suivant les étapes ci-dessous:

sudo apt-get install python2.7-dev

Nous avons également besoin de l’outil de gestion des packages pépin, qui installe immédiatement NumPy:

cd ~ && wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py

Maintenant, nous pouvons simplement installer via pip NumPy. NumPy est une bibliothèque qui facilite très facilement les opérations de tableau en Python.

pip install numpy

Mais maintenant, pour compiler OpenCV. À cet effet, un dossier de construction doit être créé dans lequel les fichiers compilés atterrissent:

cd ~/opencv && mkdir build && cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE 
 -D CMAKE_INSTALL_PREFIX=/usr/local 
 -D INSTALL_PYTHON_EXAMPLES=ON 
 -D INSTALL_C_EXAMPLES=ON 
 -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules 
 -D BUILD_EXAMPLES=ON ..

Maintenant, vous pouvez enfin compiler. Cette étape prend (selon le modèle de Raspberry Pi) un temps assez long (sur mon Pi 2 environ une heure). Pour utiliser les quatre cœurs pour compiler sur le Raspberry Pi 2, tapez ce qui suit:

make -j4

Si la compilation a fonctionné sans problème, nous pouvons installer OpenCV:

sudo make install && sudo ldconfig

Terminé!

Pour vérifier si tout a fonctionné, vous pouvez ouvrir la console Python et importer la bibliothèque:

Vous pouvez maintenant utiliser toutes les fonctions OpenCV dans vos projets. Un regard sur l’OpenCV Documentation est certainement utile.