9.5 Rectificación y preprocesamiento de imágenes
Referencia de uso de Docker: Módulo 3.7 Docker
Procesamiento de deformación de imágenes Isaac ROS: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_pipeline/index.html
Descripción general

El procesamiento de deformación de imágenes Isaac ROS utiliza el Isaac ROS image pipeline, un paquete para funciones de procesamiento de imágenes. La salida de la cámara generalmente requiere preprocesamiento para cumplir con los requisitos de entrada de una variedad de funciones de sensor. Esto incluye recorte, redimensionamiento, espejado, corrección de deformaciones de la lente y conversión del espacio de color. Para cámaras estéreo, se requiere procesamiento adicional para generar una diferencia visual entre la imagen izquierda y derecha y la nube de luz, logrando así una percepción profunda.
Inicio rápido
Para simplificar el desarrollo, utilizamos principalmente las imágenes Docker de Isaac ROS Dev y realizamos demostraciones de impacto sobre ellas. La demostración no requiere la instalación de ningún dispositivo de cámara para simular flujos de datos desde la cámara mediante la reproducción del archivo rosbag.
Nota: Si desea instalar en su propio equipo o conectar la cámara para desarrollar otras funciones, consulte la red oficial de Isaac ROS para conectar la cámara con el modelo especificado de NVIDIA.
Redimensionar:
Abra una terminal, muévase al espacio de trabajo y entre en el contenedor de desarrollo Isaac ROS.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando de inicio:
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=resizeAbra una segunda terminal y entre en el contenedor.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando:
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_infoVer el resultado
Abra la tercera terminal y entre en el contenedor.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando:

ros2 run image_view image_view --ros-args --remap image:=resize/imageConversión de color
Abra una terminal y muévase al espacio de trabajo
Nota: Si el contenedor ya se ha abierto y se han operado otros comandos, inicie el comando después de que la primera terminal haya hecho exit para salir de todos los contenedores docker.
Abra una terminal, muévase al espacio de trabajo y entre en el contenedor de desarrollo Isaac ROS.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando de inicio:
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.jsonAbra una segunda terminal y entre en el contenedor.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando:
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_infoVer el resultado
Abra la tercera terminal y entre en el contenedor.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando:

ros2 run image_view image_view --ros-args --remap image:=image_monoRecorte
Abra una terminal, muévase al espacio de trabajo y entre en el contenedor de desarrollo Isaac ROS.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando de inicio:
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.jsonAbra una segunda terminal y entre en el contenedor.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando:
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_infoVer el resultado
Abra la tercera terminal y entre en el contenedor.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando:

ros2 run image_view image_view --ros-args --remap image:=crop/imageRectificar
Abra una terminal, muévase al espacio de trabajo y entre en el contenedor de desarrollo Isaac ROS.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando de inicio:
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.jsonAbra una segunda terminal y entre en el contenedor.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando:
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_infoVer el resultado
Abra la tercera terminal y entre en el contenedor.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando:

ros2 run image_view image_view --ros-args --remap image:=image_rectVoltear
Abra una terminal, muévase al espacio de trabajo y entre en el contenedor de desarrollo Isaac ROS.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando de inicio:
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=flipAbra una segunda terminal y entre en el contenedor.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando:
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_infoVer el resultado
Abra la tercera terminal y entre en el contenedor.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando:

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