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.
Contenus de la page
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.
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)
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é :
- Détecter tous les tags aruco sur une frame
- Calculer la distance en pixel entre le tag de référence et les différents tags
- Convertir la distance en pixel en une distance en centimètre