9.5 Beeldrectificatie en voorbewerking

Docker-gebruiksreferentie: Module 3.7 Docker

Isaac ROS beeldvervorming verwerking: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_pipeline/index.html

Overzicht

Isaac ROS beeldvervorming verwerking maakt gebruik van de Isaac ROS image pipeline, een pakket voor beeldverwerkingsfuncties. Camera-uitvoer vereist meestal voorbewerking om te voldoen aan de invoervereisten van een verscheidenheid aan sensorfuncties. Dit omvat bijsnijden, vergroten/verkleinen, spiegelen, corrigeren van lensvervormingen en kleurruimteconversie. Voor stereocamera's is extra verwerking nodig om een visueel verschil te genereren tussen het linker- en rechterbeeld en de lichtwolk, waardoor diepteperceptie wordt bereikt.

Snelstart

Om de ontwikkeling te vereenvoudigen, gebruiken we voornamelijk Isaac ROS Dev Docker-images en voeren we daarop impactdemonstraties uit. De demonstratie vereist niet de installatie van een camera-apparaat om datastromen van de camera te simuleren door het rosbag-bestand af te spelen.

Opmerking: Als u op uw eigen apparatuur wilt installeren of de camera wilt aansluiten om andere functies te ontwikkelen, raadpleeg dan het officiële Isaac ROS-netwerk om de camera met het opgegeven model van NVIDIA te verbinden.

Formaat wijzigen:

Open een terminal, ga naar de werkruimte en ga de Isaac ROS-ontwikkelingscontainer binnen.

bash

cd ${ISAAC_ROS_WS}/src

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende startopdracht uit:

bash

ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=resize

Open een tweede terminal en ga de container binnen.

bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende opdracht uit:

bash

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_info

Het resultaat bekijken

Open de derde terminal en ga de container binnen.

bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende opdracht uit:

bash

ros2 run image_view image_view --ros-args --remap image:=resize/image

Kleurconversie

Open een terminal en ga naar de werkruimte

Opmerking: Als de container al is geopend en andere opdrachten zijn uitgevoerd, start dan de opdracht nadat de eerste terminal exit heeft gedaan om alle docker-containers te verlaten.

Open een terminal, ga naar de werkruimte en ga de Isaac ROS-ontwikkelingscontainer binnen.

bash

cd ${ISAAC_ROS_WS}/src

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende startopdracht uit:

bash

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.json

Open een tweede terminal en ga de container binnen.

bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende opdracht uit:

bash

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_info

Het resultaat bekijken

Open de derde terminal en ga de container binnen.

bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende opdracht uit:

bash

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

Bijsnijden

Open een terminal, ga naar de werkruimte en ga de Isaac ROS-ontwikkelingscontainer binnen.

bash

cd ${ISAAC_ROS_WS}/src

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende startopdracht uit:

bash

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.json

Open een tweede terminal en ga de container binnen.

bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende opdracht uit:

bash

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_info

Het resultaat bekijken

Open de derde terminal en ga de container binnen.

bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende opdracht uit:

bash

ros2 run image_view image_view --ros-args --remap image:=crop/image

Rectificeren

Open een terminal, ga naar de werkruimte en ga de Isaac ROS-ontwikkelingscontainer binnen.

bash

cd ${ISAAC_ROS_WS}/src

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende startopdracht uit:

bash

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.json

Open een tweede terminal en ga de container binnen.

bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende opdracht uit:

bash

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_info

Het resultaat bekijken

Open de derde terminal en ga de container binnen.

bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende opdracht uit:

bash

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

Spiegelen

Open een terminal, ga naar de werkruimte en ga de Isaac ROS-ontwikkelingscontainer binnen.

bash

cd ${ISAAC_ROS_WS}/src

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende startopdracht uit:

bash

ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=flip

Open een tweede terminal en ga de container binnen.

bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende opdracht uit:

bash

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_info

Het resultaat bekijken

Open de derde terminal en ga de container binnen.

bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

Voer de volgende opdracht uit:

bash

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