cozmo-video-stremaing-camera-feature-image

Cozmo SDK : streaming vidéo avec la caméra

This entry was posted in Cozmo, Education, Tutoriels en robotique and tagged , , , , , , on by .

Objectif : récupérer une image ou un flux d’image de la caméra 

  • Durée :  15 minutes
  • Niveau de difficulté :  facile
  • Objectif :  explorer la fonctionnalité de capture d’images

Les prérequis

Accéder à la caméra du robot Cozmo

Présentation de la caméra de Cozmo

Cozmo dispose d’une camera VGA 30 embarquée. Celle-ci fournit des images en noir et blanc de dimension 320 x 240 pixels. L’angle de la caméra est de 60° et la longueur de la focale de 290 mm. Cozmo possède également un logiciel de reconnaissance faciale qui ouvre de nombreuses possibilités d’applications.

Récupération d’une image

Pour récupérer une image depuis la caméra de Cozmo, il faudra effectuer les deux étapes ci-dessous :

  • Activer le streaming vidéo du robot auquel vous êtes connecté : robot.camera.image_stream_enabled = True
  • Récupérer l’image elle-même  via l’objet robot.world.latest_image  :
    latest_image = robot.world.latest_image

L’activation du streaming vidéo se fait par un paramètre de la caméra, qui va activer le flux caméra. L’objet latest_image est un objet CameraImage renvoyé par le robot. Ces images peuvent être annotée. Nous verrons cela dans un prochain tutoriel.

Ci-dessous, un exemple de code qui va servir à récupérer l’image de la caméra avec un rafraîchissement de 100 ms :

[pastacode lang= »python » user= »generationrobots-lab » repos= »cozmo-examples » path_id= »vision_simple_camera.py » revision= » » highlight= » » lines= »25-31″ provider= »github »/]

Ce code se contente uniquement de récupérer l’image. Nous allons donc l’améliorer afin de créer un streaming vidéo avec ces images caméra.

Streaming vidéo du flux caméra

Ici, nous allons utiliser TkInter (une librairie très simple d’utilisation permettant de construire des interfaces graphiques avec Python) pour afficher le streaming vidéo de Cozmo dans un fenêtre dédiée. Cette classe est disponible sur notre repository GitHub de même que l’exemple complet.

[pastacode lang= »python » user= »generationrobots-lab » repos= »cozmo-examples » path_id= »vision_stream_camera.py » revision= » » highlight= » » lines= »28-63″ provider= »github »/]

Vous devriez maintenant voir le streaming vidéo de la caméra de Cozmo sur l’écran de votre PC.

Informations supplémentaires sur le streaming vidéo avec Cozmo

La caméra de Cozmo peut fournir des images en 640 x 480 pixels, mais le firmware ne supporte que des images de résolution inférieure pour le moment.

De même, la caméra du robot perçoit les couleurs, mais la transmission des vidéos se fait en noir et blanc pour économiser la bande passante utilisée.