Catégorie dans Raspberry Pi

Détection des couleurs à l’aide d’OpenCV en Python

Détection des couleurs à l’aide d’OpenCV en Python

La détection des couleurs est une tâche courante dans la vision par ordinateur. OpenCV, une bibliothèque populaire de traitement d’images, offre des fonctionnalités puissantes pour la détection des couleurs en Python. Dans cette série de sections, nous explorerons différentes méthodes de détection des couleurs et leur application pratique dans le domaine de la vision par ordinateur.

a détection de couleurs avec OpenCV en Python est un processus qui implique de filtrer une image pour identifier des objets en fonction de leurs couleurs. Voici les étapes de base pour détecter une couleur spécifique dans une image à l’aide d’OpenCV :

  1. Installation d’OpenCV :
    • Assurez-vous que la bibliothèque OpenCV est installée dans votre environnement Python. Vous pouvez l’installer via pip :
      bash
      pip install opencv-python
  2. Chargement de l’image :
    • Importez OpenCV (cv2) et chargez l’image que vous voulez traiter.
      python
      <span class="hljs-keyword">import</span> cv2

      <span class="hljs-comment"># Charger une image</span>
      image = cv2.imread(<span class="hljs-string">'chemin_de_votre_image.jpg'</span>)
  3. Conversion de l’image en espace de couleur HSV :
    • Les images sont généralement en format RGB (Rouge, Vert, Bleu), mais pour la détection de couleurs, il est souvent plus facile de convertir l’image en format HSV (Teinte, Saturation, Valeur) car cela permet de séparer la teinte de la couleur de sa luminosité.
      python
      hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
  4. Définir le seuil de couleur :
    • Définissez les seuils de la couleur que vous souhaitez détecter. Vous aurez besoin de définir un seuil inférieur et un seuil supérieur pour la teinte, la saturation et la valeur.
    • Par exemple, pour détecter la couleur verte :
      python
      <span class="hljs-comment"># Définir les seuils pour la couleur verte</span>
      vert_inf = (<span class="hljs-number">40</span>, <span class="hljs-number">40</span>, <span class="hljs-number">40</span>)   <span class="hljs-comment"># HSV inférieur</span>
      vert_sup = (<span class="hljs-number">70</span>, <span class="hljs-number">255</span>, <span class="hljs-number">255</span>) <span class="hljs-comment"># HSV supérieur</span>
  5. Création d’un masque :
    • Créez un masque qui isolera la couleur désirée.
      python
      masque = cv2.inRange(hsv_image, vert_inf, vert_sup)
  6. Application du masque à l’image :
    • Appliquez le masque à l’image originale pour extraire les parties de l’image qui correspondent à la couleur recherchée.
      python
      resultat = cv2.bitwise_and(image, image, mask=masque)
  7. Affichage de l’image :
    • Utilisez
      cv2.imshow

      pour afficher l’image originale et le résultat de la détection de couleur.

      python
      cv2.imshow(<span class="hljs-string">'Image Originale'</span>, image)
      cv2.imshow(<span class="hljs-string">'Image avec Couleur Detectee'</span>, resultat)
      cv2.waitKey(<span class="hljs-number">0</span>)
      cv2.destroyAllWindows()

Gardez à l’esprit que la détection précise des couleurs peut dépendre de divers facteurs, y compris les conditions d’éclairage. Il se peut que vous deviez ajuster les seuils HSV pour obtenir les meilleurs résultats. Vous pouvez également utiliser des outils comme des curseurs (sliders) pour ajuster dynamiquement ces seuils et observer les effets en temps réel.

Lecture et sauvegarde des images usb camera dans un repertoire

Lecture  et sauvegarde des images usb camera  dans un repertoire

Comment sauvegarder les images dans un répertoire spécifique?

Dans ce article, on va apprendre rapidement comment on peut enregistrer  les images acquises à partir des USB caméras dans un répertoire spécifique et avec un intervalle de temps d’acquisition précis en utilisant Opencv , time et OS.

 

On peut utiliser le système sur un raspberry pi pour faire des images ou superviser quelque chose soit avec un ordinateur.

Comme nous allons utiliser python, on aura besoin d’importer quelques librairies avant d’écrire notre code pour la capture et le sauvegarde des images.

Quelles libraires  importées?

On va importer trois librairies  qui sont:

[pastacode lang=”python” manual=”import%20cv2%0Aimport%20os.path%20%20%23%20ou%20import%20os%0Aimport%20time%0A” message=”Librairies à importer” highlight=”” provider=”manual”/]

La librairie cv2 va nous aider à lire notre caméra et à sauvegarder  les images , os.path  va nous permettre d’avoir accès au système surtout au dossiers ou fichiers ou répertoire et enfin  time va nous permettre de gérer le temps et de nommer nos images avec le temps ou la date.

 

Après avoir importé nos librairies, on va maintenant initialiser la caméra si c’est une seule caméra ou les caméras.

On l’initialise avec la commande suivante:

[pastacode lang=”python” manual=”camera1%20%3D%20cv2.VideoCapture(0)” message=”Initialisation de la caméra” highlight=”” provider=”manual”/]

Ensuite on vérifie si la caméra est bien initialisée si oui on la lit avec la commande:

[pastacode lang=”python” manual=”while%20True%3A%0A%20%20%20%20ret1%2C%20frame1%20%3D%20camera1.read()” message=”Vérification et lecture de la caméra” highlight=”” provider=”manual”/]

On  déclare le répertoire dans lequel on veut enregistrer les images et l’intervalle de temps au bout duquel on veut capturer une image avec les commandes suivantes:

[pastacode lang=”python” manual=”%23%20declaration%20du%20r%C3%A9pertoire%20%0Apath1%20%3D%22.%2FBureau%2FImagetest%2FCamera1%22%0A%0A%23%20d%C3%A9claration%20du%20timelapse%0Atime.sleep(60)” message=”Déclaration du répertoire et du timelapse” highlight=”” provider=”manual”/]

La ligne path1 =“./Bureau/Imagetest/Camera1” représente le  chemin du répertoire et la ligne sleep(60) représente le timelapse , la durée pour acquérir une image.

Enfin si la caméra est bien lue,on procède à la visualisation et sauvegarde des images avec les commandes suivantes:

[pastacode lang=”python” manual=”%20if%20ret1%3A%0A%20%20%20%20%20%20%20%20cv2.imshow(%22camera1%22%2C%20frame1)%0A%20%20%20%20%20%20%20%20cv2.imwrite(os.path.join(path1%2C%20%22image1_%22%20%2B%20time.strftime(%22%25d-%25m-%25Y-%25H-%25M-%25S_%22)%20%20%2B%20%22.tif%22)%2Cframe1)” message=”Verification de lecture de la caméra et sauvegarde des images” highlight=”” provider=”manual”/]

Important: Quand on déclare un dossier sous linux, il faut mettre un point avant le chemin du répertoire mais sur windows et raspberry pi c’est raspbian on n’a pas besoin du point avant le chemin du répertoire.

Voici le code complet pour lancer la caméra et sauvegarder les images dans un répertoire spécifique en utilisant un python code python (opencv pour capture).

[pastacode lang=”python” manual=”import%20cv2%0Aimport%20time%2Cos.path%0Afrom%20time%20import%20sleep%0Aimport%20os%0A%23%20initialiser%20les%20cam%C3%A9ras%0Acamera1%20%3D%20cv2.VideoCapture(0)%0A%0Acamera2%20%3D%20cv2.VideoCapture(2)%0A%0Awhile%20True%3A%0A%20%20%20%20ret1%2C%20frame1%20%3D%20camera1.read()%0A%20%20%20%20ret2%2C%20frame2%20%3D%20camera2.read()%0A%20%20%20%20%0A%20%20%20%20%23%20D%C3%A9claration%20du%20chemin%20des%20r%C3%A9pertoires%0A%20%20%20%20path1%20%3D%22.%2FBureau%2FImagetest%2FCamera1%22%0A%20%20%20%20path2%20%3D%22.%2FBureau%2FImagetest%2FCamera2%22%0A%0A%20%20%20%23%20D%C3%A9claration%20du%20timelapse%0A%20%20%20sleep(60)%0A%0A%20%20%20if%20ret1%3A%0A%20%20%20%20%20%20%20%23%20cv2.imshow(%22camera1%22%2C%20frame1)%0A%20%20%20%20%20%20%20%20cv2.imwrite(os.path.join(path1%2C%20%22image1_%22%20%2B%20time.strftime(%22%25d-%25m-%25Y-%25H-%25M-%25S_%22)%20%20%2B%20%22.tif%22)%2Cframe1)%0A%20%20%20%20%20%20%20%0A%20%20%20%20if%20ret2%3A%0A%20%20%20%20%20%20%20%23%20cv2.imshow(%22camera2%22%2C%20frame2)%0A%20%20%20%20%20%20%20%20cv2.imwrite(os.path.join(path2%2C%20%22image2_%22%20%2B%20time.strftime(%22%25d-%25m-%25Y-%25H-%25M-%25S_%22)%20%20%2B%20%22.tif%22)%2Cframe2)%0A%20%20%20%20%20%20%20%20camera2.set(cv2.CAP_PROP_FRAME_WIDTH%2C%201920)%0A%20%20%20%20%20%20%20%20camera2.set(cv2.CAP_PROP_FRAME_HEIGHT%2C%201080)%0A%20%20%20%0A%20%20%20%20%20if%20cv2.waitKey(1)%20%26%200xff%20%3D%3Dord(‘a’)%3A%0A%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20break%0A%0Acamera1.release()%0Acamera2.release()%0Acv2.destroyAllWindows()%0A%0A” message=”Code complet” highlight=”” provider=”manual”/]

Ce code permet de lancer deux caméras directement soit sur un raspberry pi ou un pc (linux , windows ou macox) en banchant les deux caméras à deux ports USB, enregistrer les images acquises de chaque caméra dans un répertoire différent suivant le même intervalle de temps ici 60 secondes soit 1 minuit pour chaque image.

J’espère que ce article vous a aidé.

A lire aussi (Installer un raspberry pi)

 

Contrôler son Raspberry Pi à distance avec VNC

Contrôler  son Raspberry Pi  à distance avec VNC

Le contrôle à distance du  Raspberry Pi depuis un autre ordinateur est particulièrement intéressant dans certaines situations ou utilisations particulières, par exemple si on ne souhaite pas l’utiliser comme un “simple” nano-ordinateur, mais plutôt comme un objet connecté avec des fonctions spécifiques comme dans notre cas.Deux moyens sont à notre disposition pour cette prise de contrôle à distance :

  1. via SSH, uniquement en ligne de commande dans un terminal (le plus «rapide» et efficace
    dans certains cas, et quand on est un utilisateur assez avancé ou quand on maîtrise les lignes de commande)
  2. via VNC, avec une interface graphique complète habituelle et prise en charge du
    clavier et de la souris et autres.

Dans ce article, je vais vous montrer comment contrôler votre raspberry pi depuis un autre ordinateur via le VNC

 

Pour contrôler le raspberry pi via le VNC, on a besoin  de deux choses essentiels qui sont le VNC server et le VNC Viewer.

Le VNC server ou le serveur VNC est  le VNC qu’on doit activer  sur le raspberry pi qu’on veut contrôler et le VNC viewer est le VNC qu’on va installer sur l’ordinateur, la tablette ou le portable qu’on va utiliser pour contrôler le raspberry.

Comment installer VNC sur Raspberry Pi ?

Pour activer le VNC sur son raspberry pi on a deux méthodes:

  • Depuis l’option configuration du raspberry pi
  • Depuis le terminal

 

Depuis l’option configuration du raspberry pi: Quand on clique sur le logo du raspberry on choisit Préférence suivi  de Configuration de la Raspberry pi ensuite interfaces enfin activé devant le VNC et on valide pour redémarrer le raspberry pi.

Depuis le terminal:  On ouvre le terminal  et on tape la commande sudo raspi-config, une fois ouvert on choisit l’option Interfaces Options ensuite VNC enfin sur OUI ou YES pour valider et redémarrer le raspberry pi.

ensuite

enfin

 

Une fois que le vnc server activé il faut le configurer pour pour accéder à distance.

La première est de cliquer sur le logo de VNC ensuite vous avez connectivité si votre raspberry est connecté à l’internet vous aurez son adresse IP par exemple le mien est 192.168.1.84 ensuite vous allez dans le menu du VNC server qui vient d’être activer sur votre raspberry pi et cliquez sur Options. Une fois que la page de l’options est ouverte, vous avez la possiblité de choisir ce que vous voulez contrôler à distance dans connexions enfin dans la partie authentification vous choisissez le Mot de passe VNC et vous configurez le mot de passe que vous voulez utilisez pour accéder au raspberry via un autre appareil, une fois fini vous cliquez sur Appliquer et OK.

ensuite

On vient de finir  la partie VNC server sur notre raspberry pi. Il reste à installer le VNC viewer sur notre appareil soit ordinateur, portable ou tablette pour contrôler le raspberry pi sur lequel on vient d’activer le VNC server.

 

Il faut donc télécharger le logiciel VNC viewer (ici).

Ensuite on ouvre notre VNC viewer en tapant l’adresse IP de notre raspberry pi suivi du mot de passe qu’avait défini dans la configuration du vnc server et on aura accès à notre raspberry pi suivant le type de connexions qu’avait choisi.

Voir aussi (Comment utiliser caméra USB sur raspberry pi)

NB: On ne peut contrôler le raspberry pi depuis un autre appareil seulement si on est sur le meme réseau ou si on accède au réseau du raspberry pi par un VPN du réseau auquel le raspberry pi est connecté.

Configuration de la Picaméra

Configuration de la Picaméra

Le système Raspbian n’est pas configuré pour utiliser la caméra d’origine, nous devons activer l’option dans les configurations : dans le menu démarrer droite > Préférences droite >Configuration du Raspberry Pi. Dans la fenêtre de configuration, on sélectionne l’onglet Interfaces et on coche la case Activé en face de Caméra ensuite on redémarre notre raspberry pi pour que l’activation soit prise en charge.

Soit on l’active depuis le terminal en suivant les étapes suivantes.On tape la commande
suivante dans le terminal en utilisant la commande : sudo raspi-config

Une fois dans le menu, on se sert des flèches directionnelles et on sélectionne Interfacing Options puis Caméra.

Enfin, on sélectionne oui ,quand on demande la confirmation d’activation ainsi que pour redémarrer le Raspberry. Après le redémarrage de notre raspberry, on peut vérifier si la caméra fonctionne en faisant un test avec la commande
suivant qu’on tappe dans le terminal : raspistill -o phototest.jpg. 

ensuite oui

Pour aller plus loin visitez (ici)

Installer Raspberry pi

Installer Raspberry pi

Installation Raspbian

Pour pouvoir utiliser notre raspberry, nous devons installer le système d’exploitation raspbian dans un premier temps et quelques logiciels sur le raspberryPi. Pour cela, nous avons
donc besoin d’une carte SD  sur laquelle nous allons installer notre système d’exploitation, nous avons aussi besoin d’un adaptateur de carte SD sous forme :


Ensuite vient l’étape de copier l’image du raspbian sur la carte SD. Nous avons choisi d’utiliser le logiciel Raspberry Pi Imager V1.5 (ici)

qui est l’outil officiel destiné à simplifier l’installation des systèmes d’exploitation sur la carte SD du Raspberry Pi. Le logiciel Raspberry Pi Imager se charge de gérer le téléchargement de l’image à notre place dans l’option système d’exploitation et on choisit le système qu’on veut.

Pour permettre le téléchargement automatique, Raspberry Pi Imager va aller, au lancement, chercher un fichier .json sur le site de la fondation (https://www.raspberrypi.org/software/). Le fichier contient les liens vers les dernières versions des différentes images.

Après la copie de l’image sur la carte SD, on place la carte dans le port SD carte  du Raspberry Pi et on suit juste les étapes jusqu’à la fin de l’installation.

Afin de s’assurer que tout marche bien, on va d’abord mettre à jour les pilotes en utilisant deux commandes dans le terminal.

Etapes pour mise à jour du Raspberry Pi

Mettre à jour son Raspberry Pi est important puisque cela vous apporte des correctifs de sécurité, des nouvelles versions de vos logiciels du Raspbian. Il faut donc connecter votre raspberry à l’internet via le wifi ou un câble RJ45 connecté à l’internet via un switch ou un routeur au port RJ45 de la raspberry. Ensuite dans notre terminal on fait la mise à jour des paquets en utilisant la commande suivante :
sudo apt-get update
Ensuite on fait la  mise à jour de la distribution avec la commande : sudo apt-get upgrade
Enfin  on fait la mise à jour du raspbian avec la commande :
sudo rpi-update
Si nous voulons que tout soit fait sans que l’on nous demande confirmation ,on utilise la commande suivante :
sudo apt-get update & sudo apt-get -y upgrade & sudo apt-get -y dist-upgrade & sudo rpi-update

 

Comme nous sommes maintenant assurés que notre système d’exploitation est à jour, nous
allons maintenant procéder à la configuration de notre caméra sur notre raspberry.
Nous allons d’abord connecter notre Pi caméra sur la raspberry. Il faut pour cela éteindre
et débrancher la carte Raspberry Pi avant de brancher la caméra. On connecte la caméra au
port CSI, situé entre les connecteurs HDMI et jack. On peut donc procéder de la manière
suivante :

  1. On Tire doucement le verrou du connecteur (morceau blanc)vers le haut pour le
    débloquer
  2. On insère la nappe de la caméra sans forcer, la partie bleue tournée vers la prise jack
  3. Enfin on referme le verrou, et on vérifie si la nappe est maintenant maintenue.
    Il faut maintenant configurer la caméra.