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.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende startopdracht uit:
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=resizeOpen een tweede terminal en ga de container binnen.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende opdracht uit:
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_infoHet resultaat bekijken
Open de derde terminal en ga de container binnen.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende opdracht uit:

ros2 run image_view image_view --ros-args --remap image:=resize/imageKleurconversie
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.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende startopdracht uit:
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.jsonOpen een tweede terminal en ga de container binnen.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende opdracht uit:
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_infoHet resultaat bekijken
Open de derde terminal en ga de container binnen.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende opdracht uit:

ros2 run image_view image_view --ros-args --remap image:=image_monoBijsnijden
Open een terminal, ga naar de werkruimte en ga de Isaac ROS-ontwikkelingscontainer binnen.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende startopdracht uit:
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.jsonOpen een tweede terminal en ga de container binnen.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende opdracht uit:
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_infoHet resultaat bekijken
Open de derde terminal en ga de container binnen.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende opdracht uit:

ros2 run image_view image_view --ros-args --remap image:=crop/imageRectificeren
Open een terminal, ga naar de werkruimte en ga de Isaac ROS-ontwikkelingscontainer binnen.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende startopdracht uit:
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.jsonOpen een tweede terminal en ga de container binnen.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende opdracht uit:
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_infoHet resultaat bekijken
Open de derde terminal en ga de container binnen.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende opdracht uit:

ros2 run image_view image_view --ros-args --remap image:=image_rectSpiegelen
Open een terminal, ga naar de werkruimte en ga de Isaac ROS-ontwikkelingscontainer binnen.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende startopdracht uit:
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=flipOpen een tweede terminal en ga de container binnen.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende opdracht uit:
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_infoHet resultaat bekijken
Open de derde terminal en ga de container binnen.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende opdracht uit:

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