Traitement d’image pour la détection de tag Aruco avec Opencv en python : 3/4 

L’objectif de ce cours est de réaliser une détection de tag Aruco sur un flux vidéo ainsi qu’une localisation de des tag Aruco les uns avec les autres. Le cours se divise en trois parties, une première partie où nous établissons un Pipeline permettant d’isoler un tag Aruco dans une image en couleur, cette première partie permet de réviser ce que nous avons vu pendant le précédent cours. La deuxième partie consiste à utiliser la bibliothèque Aruco deopencv-contrib-python pour détecter les tags Aruco sur un flux vidéo récupéré grâce à une caméra USB. La dernière partie consiste à localiser les Tag les uns en fonction des autres.

Détecter un tag Aruco

L’objectif de la première partie est d’établir un pipeline de traitement permettant de passer de l’image de gauche à celle de droite.

Image originale
Image traitée

Utiliser la bibliothèque Aruco opencv

Installation

Pour avoir la détection de Tag Aruco il est nécessaire d’installer Opencv Contrib Python via la commande pip3 install opencv-contrib-python.

Utilisation

Plusieurs dictionnaires de tag Aruco existent, il faut donc spécifier celui que nous voulons détecter, dans notre cas c’est DICT_4X4_50

arucoDict = cv2.aruco.Dictionary_get(cv2.aruco.DICT_4X4_50)
arucoParams = cv2.aruco.DetectorParameters_create()
    (corners, ids, rejected) = cv2.aruco.detectMarkers(frame,
                                                       arucoDict, parameters=arucoParams)
Détection d’un unique tag
Détection de tag multiple

Calculer la position relative d’un Aruco par rapport à l’autre

L’objectif est de détecter la position (en centimètres) relative du Tag Aruco par rapport à un Tag de référence (le tag 17 par défaut). La méthodologie suivante peut être adopté :

  1. Détecter tous les tags aruco sur une frame
  2. Calculer la distance en pixel entre le tag de référence et les différents tags
  3. Convertir la distance en pixel en une distance en centimètre

Permanent link to this article: https://www.eirlab.net/2022/03/22/traitement-dimage-pour-la-detection-de-tag-aruco-avec-opencv-en-python-3-4/