9.5 Rectification et prétraitement d'images
Référence d'utilisation Docker : Module 3.7 Docker
Traitement de déformation d'images Isaac ROS : https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_pipeline/index.html
Vue d'ensemble

Le traitement de déformation d'images Isaac ROS utilise le pipeline d'images Isaac ROS, un package pour les fonctions de traitement d'images. La sortie de la caméra nécessite généralement un prétraitement pour répondre aux exigences d'entrée d'une variété de fonctions de capteurs. Cela inclut le recadrage, le redimensionnement, le miroir, la correction des déformations de l'objectif et la conversion de l'espace colorimétrique. Pour les caméras stéréo, un traitement supplémentaire est nécessaire pour générer une différence visuelle entre l'image gauche et droite et le nuage de lumière, permettant ainsi une perception profonde.
Démarrage rapide
Afin de simplifier le développement, nous utilisons principalement les images Docker Isaac ROS Dev et effectuons des démonstrations d'impact sur celles-ci. La démonstration ne nécessite l'installation d'aucun dispositif de caméra pour simuler les flux de données de la caméra en lisant le fichier rosbag.
Note : Si vous souhaitez l'installer sur votre propre équipement ou connecter la caméra pour développer d'autres fonctionnalités, veuillez vous référer au site officiel d'Isaac ROS pour connecter la caméra avec le modèle spécifié de NVIDIA.
Redimensionner :
Ouvrez un terminal, déplacez-vous dans l'espace de travail et entrez dans le conteneur de développement Isaac ROS.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande de lancement suivante :
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=resizeOuvrez un deuxième terminal et entrez dans le conteneur.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande suivante :
ros2 bag play --loop ${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_image_proc/quickstart --remap /hawk_0_left_rgb_image:=/image_raw /hawk_0_left_rgb_camera_info:=/camera_infoVoir le résultat
Ouvrez le troisième terminal et entrez dans le conteneur.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande suivante :

ros2 run image_view image_view --ros-args --remap image:=resize/imageConversion de couleur
Ouvrez un terminal et déplacez-vous dans l'espace de travail
Note : Si le conteneur a été ouvert et que d'autres commandes ont été exécutées, démarrez la commande après que le premier terminal ait fait exit pour quitter tous les conteneurs docker.
Ouvrez un terminal, déplacez-vous dans l'espace de travail et entrez dans le conteneur de développement Isaac ROS.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande de lancement suivante :
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=color_conversion interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_image_proc/quickstart_interface_specs.jsonOuvrez un deuxième terminal et entrez dans le conteneur.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande suivante :
ros2 bag play --loop ${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_image_proc/quickstart --remap /hawk_0_left_rgb_image:=/image_raw /hawk_0_left_rgb_camera_info:=/camera_infoVoir le résultat
Ouvrez le troisième terminal et entrez dans le conteneur.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande suivante :

ros2 run image_view image_view --ros-args --remap image:=image_monoRecadrage
Ouvrez un terminal, déplacez-vous dans l'espace de travail et entrez dans le conteneur de développement Isaac ROS.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande de lancement suivante :
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=crop interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_image_proc/quickstart_interface_specs.jsonOuvrez un deuxième terminal et entrez dans le conteneur.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande suivante :
ros2 bag play --loop ${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_image_proc/quickstart --remap /hawk_0_left_rgb_image:=/image_raw /hawk_0_left_rgb_camera_info:=/camera_infoVoir le résultat
Ouvrez le troisième terminal et entrez dans le conteneur.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande suivante :

ros2 run image_view image_view --ros-args --remap image:=crop/imageRectifier
Ouvrez un terminal, déplacez-vous dans l'espace de travail et entrez dans le conteneur de développement Isaac ROS.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande de lancement suivante :
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=rectify_mono interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_image_proc/quickstart_interface_specs.jsonOuvrez un deuxième terminal et entrez dans le conteneur.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande suivante :
ros2 bag play --loop ${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_image_proc/quickstart --remap /hawk_0_left_rgb_image:=/image_raw /hawk_0_left_rgb_camera_info:=/camera_infoVoir le résultat
Ouvrez le troisième terminal et entrez dans le conteneur.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande suivante :

ros2 run image_view image_view --ros-args --remap image:=image_rectRetournement
Ouvrez un terminal, déplacez-vous dans l'espace de travail et entrez dans le conteneur de développement Isaac ROS.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande de lancement suivante :
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=flipOuvrez un deuxième terminal et entrez dans le conteneur.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande suivante :
ros2 bag play --loop ${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_image_proc/quickstart --remap /hawk_0_left_rgb_image:=/image_raw /hawk_0_left_rgb_camera_info:=/camera_infoVoir le résultat
Ouvrez le troisième terminal et entrez dans le conteneur.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shExécutez la commande suivante :

ros2 run image_view image_view --ros-args --remap image:=image_flipped