Installer OpenCV sur Raspberry Pi : le guide complet

OpenCV est souvent utilisé pour promouvoir les capacités du Raspberry Pi. Même si le Raspberry Pi est un matériel bon marché, le montrer avec une caméra connectée, faisant fonctionner une intelligence artificielle ou de l’électronique est assez impressionnant. Mais avant de faire tout cela, vous devez le configurer correctement, et ce n’est pas simple pour les débutants. C’est pourquoi j’ai écrit ce tutoriel, pour vous aider à bien commencer avec OpenCV.

La façon la plus simple d’installer OpenCV sur un Raspberry Pi est d’utiliser le gestionnaire de paquets (APT). Mais pour obtenir une version récente, il est recommandé d’utiliser PIP, car la version disponible avec apt est généralement obsolète.

Commençons par une brève présentation d’OpenCV et ses principales fonctionnalités, puis je vous montrerai comment l’installer sur votre Raspberry Pi et créer vos premiers scripts avec.

Au passage, si vous vous sentez dépassé dès que Python est nécessaire pour un projet, je vous conseille de télécharger mon e-book « Maîtrisez Python on Raspberry Pi« . Il vous guidera pas à pas pour apprendre les concepts essentiels (et uniquement ceux-là) pour réaliser n’importe quel projet à l’avenir. Un Raspberry Pi sans Python, c’est comme une voiture sans moteur, vous ratez le plus intéressant ;-).
Profitez de 10 % de réduction en le téléchargeant dès aujourd’hui !

Qu’est-ce qu’OpenCV ?

OpenCV est une bibliothèque open source, compatible avec des langages comme Python ou C++, qui vous permet de créer des projets de vision par ordinateur et d’apprentissage automatique.

D’ailleurs, CV signifie “Computer Vision”. En bref, OpenCV vous fournira des fonctions intéressantes pour manipuler des images et des vidéos. Si vous lisez ceci, vous avez probablement déjà vu des projets sympas qui l’utilisent.

Des exemples typiques d’utilisation d’OpenCV sont la manipulation d’images (Je fournirai plus tard du code basique pour cela), la détection d’objets (reconnaître un type spécifique d’objet, comme un visage ou un animal de compagnie), ou le suivi d’objets (un robot peut vous suivre, par exemple).

Reconnaissance de plaques d’immatriculation avec un Raspberry Pi et OpenCV

Un projet classique OpenCV utilisera d’autres fonctionnalités du Raspberry Pi, comme le module caméra et les broches GPIO. La caméra peut par exemple détecter lorsque votre voiture se présente devant le garage (détection d’objets), trouver la plaque d’immatriculation et lire le numéro dessus (reconnaissance de texte). Si le numéro correspond, vous pouvez envoyer un signal aux broches GPIO (ou à un objet connecté) pour ouvrir la porte du garage.

Eh bien, ce n’est pas exactement le projet le plus facile pour commencer avec OpenCV, mais cela vous donne une idée. D’abord, apprenons à installer le logiciel sur votre système.

Installer OpenCV sur Raspberry Pi

Obtenir Raspberry Pi OS

Le moyen le plus simple d’utiliser OpenCV sur Raspberry Pi est d’utiliser le système d’exploitation officiel : Raspberry Pi OS. Python est préinstallé, donc vous aurez juste besoin d’ajouter la bibliothèque OpenCV avant de créer votre premier script.

Si vous avez besoin d’aide pour installer Raspberry Pi OS, vous pouvez cliquer sur le lien pour lire mon tutoriel où j’explique tout étape par étape. La version Desktop est probablement préférable, car nous testerons un projet avec des images et le module caméra, mais choisissez la version qui a du sens pour vous.

Que vous l’installiez à partir de zéro ou non, assurez-vous d’effectuer les étapes suivantes avant d’aller plus loin :

  • Connectez-vous à Internet (via Ethernet ou Wi-Fi).
  • Faites les mises à jour système :
    sudo apt update
    sudo apt upgrade
  • Activer SSH et/ou VNC est probablement une bonne idée si vous souhaitez suivre ce tutoriel directement depuis votre ordinateur.

Une fois prêt, vous pouvez passer à l’installation d’OpenCV.

Méthode 1 – Installer OpenCV via APT

Installer OpenCV sur Raspberry Pi OS peut se faire directement avec apt. Ouvrez un terminal et tapez cette commande :
sudo apt install python3-opencv

J’ai vu de nombreux tutoriels où l’installation se fait à partir du code source, mais c’est assez compliqué, et vous n’avez plus besoin de l’installer de cette manière. Cette commande installera toutes les dépendances, et cela fonctionnera directement.

Je vais utiliser Python pour ce tutoriel, car c’est le moyen le plus simple de commencer (tout est prêt pour Python sur Raspberry Pi OS), mais OpenCV peut aussi être utilisé avec d’autres langages. Par exemple, installez libopencv-dev à la place pour l’utiliser avec C++.

Une fois OpenCV installé sur votre Raspberry Pi, faisons un test rapide pour s’assurer qu’il fonctionne comme prévu. Créez un nouveau fichier et copiez les lignes suivantes dedans :
import cv2
print(cv2.__version__)

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Lorsque vous exécutez ce script, il devrait afficher la version actuelle d’OpenCV installée sur votre système :

J’utilise Thonny car il est préinstallé sur Raspberry Pi OS, mais vous pouvez faire le même test dans un terminal, via SSH, ou sur Raspberry Pi OS Lite si vous préférez. Créez le fichier avec nano et exécutez-le avec :
python3

opencv test version from command line

Si vous obtenez le numéro de version sur votre écran, vous êtes prêt à commencer à utiliser OpenCV.

Le problème avec cette méthode, cependant, est que vous obtiendrez très probablement une version obsolète d’OpenCV. Consultez la méthode suivante pour apprendre à installer une version plus récente.

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Méthode 2 – Utiliser PIP pour installer OpenCV

Remarque : Avant d’obtenir la dernière version, il est recommandé d’éviter les mélanges lorsque c’est possible. Donc, si vous avez déjà installé OpenCV en suivant la méthode précédente, supprimez-le avec APT avant toute autre chose :
sudo apt remove python3-opencv

Au moment de la rédaction, la version d’OpenCV disponible via APT est la 4.6.0 (sortie en 2022), tandis que la dernière version disponible sur le site officiel est la 4.10 (sortie en été 2024).

Si vous utilisez APT pour installer OpenCV, vous n’obtiendrez pas la dernière version avec les corrections de bugs et les améliorations. Vous pouvez également rencontrer des incompatibilités avec d’autres bibliothèques que vous utiliserez avec OpenCV.

C’est pourquoi la création d’environnements virtuels, surtout lorsque vous travaillez en Python, est maintenant la méthode recommandée pour installer des bibliothèques comme OpenCV. Les environnements virtuels empêchent les conflits en maintenant des ensembles isolés et indépendants de bibliothèques et de dépendances pour chaque projet.

Pour obtenir la dernière version d’OpenCV, nous allons l’installer dans un environnement virtuel Python. Voici comment :

  • Installez venv si vous ne l’avez pas déjà :
    sudo apt install python3-venv
  • Créez un répertoire pour stocker vos projets Python :
    mkdir python_projects
  • Créez un environnement virtuel à l’intérieur de ce répertoire :
    cd python_projects
    python3 -m venv myproject1
  • Activez votre environnement virtuel :
    source myproject1/bin/activate
    Remarquez le nouveau préfixe sur votre invite de terminal. Cela signifie que toutes les commandes Python que vous exécutez à partir de là ne s’appliqueront qu’à cet environnement virtuel.
    opencv venv activé
  • Depuis cet environnement, installez la dernière version d’OpenCV en utilisant pip (en anglais) :
    pip install opencv-python
    pip install opencv depuis un environnement virtuel

Cela peut prendre un certain temps en fonction de votre matériel et de la version de votre système, donc soyez patient. Cela a pris quelques secondes sur mon installation Pironman (en anglais) (RPI OS 64), mais cela a pris plus de 10 minutes sur ma nouvelle installation avec Raspberry Pi OS 32 bits.

Si vous obtenez une erreur, vous devrez peut-être exécuter cette commande pour mettre à jour pip et wheel :
pip install --upgrade pip setuptools wheel
Ensuite, exécutez à nouveau l’installation :
pip install opencv-python

Et si vous obtenez toujours une erreur après cela, c’est probablement parce que vous avez essayé d’installer une version trop récente et pas encore compatible avec votre système. Dans ce cas, vous pouvez essayer de spécifier une version plus ancienne avec quelque chose comme :
pip install opencv-python==4.7.0.72
Une liste de versions que vous pouvez installer avec pip est disponible ici.

Maintenant, comment exécuter du code OpenCV depuis cet environnement virtuel ? Vous pouvez le faire soit depuis la ligne de commande, soit depuis un IDE graphique comme Thonny.

Pour tester si la dernière version d’OpenCV fonctionne depuis la ligne de commande :

  • Créez un fichier dans votre nouveau répertoire d’environnement virtuel :
    nano test.py
  • Collez ces lignes :
    import cv2
    print (cv2.__version__)
  • Exécutez le code :
    python3 test.py

Pour tester si la dernière version d’OpenCV fonctionne avec Thonny :

  • Chargez votre environnement virtuel en changeant l’interpréteur avec le menu en bas à droite.
    thonny change interpreter to virtual environment
  • Naviguez vers le répertoire de votre environnement virtuel, allez dans son dossier “bin”, et sélectionnez le fichier “python3”. Appuyez sur OK.
    thonny change virtual environment opencv
  • Maintenant, vous pouvez écrire votre code dans Thonny. Collez ces lignes :
    import cv2
    print(cv2.__version__)
  • Appuyez sur le bouton Run.

Quelle que soit la méthode que vous choisissez ci-dessus, si vous voyez un résultat vous affichant la version la plus récente d’OpenCV, tout fonctionne !

Le principal objectif de ce tutoriel était de faire fonctionner OpenCV avec Python, mais en bonus, je vais également vous montrer trois exemples pour aller un peu plus loin.

3 exemples pour bien commencer avec OpenCV sur Raspberry Pi

Premier script : manipuler des images avec OpenCV

La plupart des projets utilisant OpenCV reposent sur la manipulation d’images. Il peut s’agir de photos stockées sur votre ordinateur ou d’un flux en direct d’une caméra. OpenCV est très utile pour les charger dans un script, modifier quelque chose et les afficher ou les analyser ensuite.

Si vous êtes totalement nouveau en Python, je recommande fortement de d’abord lire cet article, où j’explique les bases de Python sur Raspberry Pi. Je pense également que lire mon livre “Master Python on Raspberry Pi” est presque obligatoire avant d’essayer tout projet avec OpenCV si vous ne voulez pas vous perdre rapidement.

Mais quoi qu’il en soit, si vous avez un minimum d’expérience avec Python, voici quelques méthodes que vous pouvez essayer pour vous donner une idée de ce que OpenCV peut faire.

Le premier test que vous pouvez faire est de charger une image enregistrée sur votre Raspberry Pi (cela fonctionne avec des fichiers JPG et PNG).
Vous pouvez le faire avec :
cv2.imread(<nom_de_fichier>)
Une fois l’image chargée, vous pouvez utiliser diverses fonctions incluses dans la bibliothèque OpenCV pour obtenir plus de données sur le fichier, comme ses dimensions par exemple :

python code showing opencv2 grabbing image attributes

Vous pouvez afficher l’image à l’écran, en utilisant :
cv2.imshow(<titre de la fenêtre>,<image>)
Quelque chose comme :

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
python code showing opencv being used to display an image

Les deux lignes suivantes sont utilisées pour garder la fenêtre ouverte jusqu’à ce que vous appuyiez sur une touche. Si vous appuyez sur “Space” par exemple, cela fermera l’image et le script continuera.
cv2.waitKey(0)
cv2.destroyAllWindows()

Une autre fonction utile est la méthode “resize”.
Vous pouvez soit redimensionner l’image à une taille spécifique (comme 200×200 px dans cet exemple) :
cv2.resize(image, (x, y))

Ou utiliser un coefficient, comme 50 % de la taille originale dans cet exemple :
cv2.resize(image, (0, 0), fx=X, fy=Y)

Utiliser 0.5 signifie que la nouvelle image sera à 50 % de la taille originale. Vous pouvez utiliser un coefficient différent pour la largeur (X) et la hauteur (Y).

Enfin, vous pouvez enregistrer l’image modifiée quelque part sur votre Raspberry Pi, en utilisant la fonction “imwrite”, comme ceci :
cv2.imwrite(<nom de fichier>, image)

Assurez-vous simplement d’utiliser la même extension de fichier et que vous avez accès à l’emplacement spécifié.

Ces fonctions sont une bonne manière de vérifier qu’OpenCV fonctionne correctement sur votre système, et vous habituer aux fonctionnalités que vous utiliserez dans la plupart des projets. Mais OpenCV peut ensuite être utilisé avec l’intelligence artificielle (machine learning en particulier), le module caméra, et les broches GPIO pour créer des projets Python impressionnants. Présentons-en deux d’entre eux.

Reconnaissance faciale : utilisez la caméra du Raspberry Pi

Si vous n’avez pas encore de caméra installée sur votre Raspberry Pi, consultez mon guide ici.

En bref, l’idée de ce type de projet est de vérifier constamment le flux du module caméra sur le Raspberry Pi, et de faire quelque chose lorsqu’un visage est détecté. Une fois correctement entraîné, OpenCV peut non seulement détecter un visage depuis la caméra mais aussi reconnaître qui c’est.

En gros, vous prenez 10 à 20 photos de votre visage avec la caméra sous différents angles, puis vous entraînez OpenCV pour qu’il puisse vous reconnaître en direct. Cela rend possible de nombreux projets intéressants, où vous pouvez programmer votre Raspberry Pi pour faire quelque chose lorsque vous apparaissez.

C’était l’un des exemples donnés avec le kit robot PiCar-X que j’ai testé récemment (en anglais). Vous pouvez trouver le script qu’ils utilisent pour cela dans la documentation de SunFounder. Il dessinera un rectangle autour du visage détecté, mais vous pouvez faire ce que vous voulez à partir de là.

Le meilleur tutoriel que j’ai trouvé pour aller un peu plus loin sur un Raspberry Pi est celui-ci de Tim sur Core Electronics. Vous pouvez suivre les étapes ou télécharger le code pour le projet complet directement (vous pouvez tester même si tout n’est pas clair pour vous).

L’idée de ce simple projet est de démarrer un servomoteur lorsque son visage est détecté, mais cela peut être ce que vous voulez (jouer de la musique ? Allumer les lumières de votre maison ? Il n’y a pas de limite).

Détection/identification d’objets

Un autre projet amusant que vous pouvez essayer est la détection ou le suivi d’objets. C’est pratiquement la même idée, mais au lieu de détecter un visage, vous allez essayer d’identifier les objets sur une image (ou un flux de caméra).

Si votre Raspberry Pi est monté sur un kit de robot, vous pouvez même le programmer pour suivre cet objet (c’est possible avec le kit Robot Dog que j’ai également testé sur ce site, en anglais). Vous avez une balle rouge que vous pouvez lancer, et le robot la suivra.

Pour commencer, je trouve que ce tutoriel est assez bon pour vous donner une idée des possibilités. Comme pour le projet précédent, vous pouvez soit le suivre étape par étape pour essayer de tout comprendre, soit exécuter le script complet pour le voir en action.

J’ai beaucoup d’autres projets Python listés ici (en anglais) si vous voulez expérimenter des choses amusantes avec votre Raspberry Pi. Et faites-le moi savoir si vous avez besoin de plus d’aide avec OpenCV, je peux rédiger des tutoriels pas à pas si cela vous intéresse.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Rappel: J'ai crée une communauté d'utilisateurs de Raspberry Pi qui vous permet de partage vos avancées, poser vos questions et recevoir de nombreux avantages exclusifs (anglophones uniquement). Cliquez sur le lien pour en savoir plus.

FAQ : OpenCV sur Raspberry Pi

Comment vérifier si OpenCV est déjà installé sur Raspberry Pi ?

Pour vérifier si OpenCV est installé, allez dans Ajouter/Retirer des logiciels et cherchez “OpenCV”. Si certains paquets sont installés, il y aura une case cochée à gauche. Cette commande peut également être utilisée pour lister les paquets OpenCV installés :
sudo dpkg -l | grep "python-opencv\|python3-opencv"

Puis-je utiliser OpenCV avec C++ ?

Les développeurs d’OpenCV le codent en C++, donc OpenCV peut être utilisé avec la plupart des langages, y compris C++, Java et Python. Sur un Raspberry Pi (avec toute distribution de type Debian), OpenCV peut être installé pour une utilisation en C++ avec :
sudo apt install libopencv-dev

Vous pouvez ensuite commencer votre script avec :
#include <opencv2/opencv,hpp>
pour utiliser OpenCV dans un script C++.

Lisez mon article sur C++ sur Raspberry Pi si vous avez besoin d’aide pour commencer.

De quelle quantité de mémoire OpenCV a-t-il besoin ?

1 Go de mémoire devrait suffire pour la plupart des projets utilisant OpenCV sur un Raspberry Pi.

Évidemment, la quantité de mémoire dont vous avez besoin dépendra de ce que fait votre programme (analyser un flux vidéo de haute qualité en temps réel ne nécessite pas la même quantité que redimensionner une petite image), mais tout modèle de Raspberry Pi devrait être suffisant pour la plupart des projets.

Cela peut également varier en fonction de la distribution que vous utilisez et des autres applications

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources

Comment avez-vous trouvé cet article ?

Cliquez sur une étoile pour noter !

Note moyenne / 5. Nombre de votes :

Aucun vote pour l'instant ! Soyez le premier à évaluer cet article.

Si vous avez aimé cet article ...

Partagez le sur les réseaux

Nous sommes désolés que vous n'ayez pas aimé cet article !

Améliorons cet article !

Comment pouvons-nous améliorer cet article ?


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Publications similaires

Laisser un commentaire

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