Isaac ROS图像畸变处理
Isaac ROS图像畸变处理概述快速体验
Isaac ROS图像畸变处理:https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_pipeline/index.html
概述
Isaac ROS图像畸变处理使用是的Isaac ROS 图像管道,这是一个图像处理功能的元包。相机输出通常需要预处理,以满足多种不同感知功能的输入要求。这包括裁剪、调整大小、镜像、校正镜头畸变以及色彩空间转换。对于立体相机,需要进行额外的处理,以产生左右图像与点云之间的视差,从而实现深度感知。

快速体验
为了简化开发,我们主要使用 Isaac ROS Dev Docker 镜像,并在上面进行效果演示。演示不需要安装任何摄像头设备,通过播放 rosbag 文件模拟来自摄像头的数据流。
注:如果想要安装在自己设备上,或者连接摄像头开发其他功能,请参照 Isaac ROS 官网,连接英伟达指定型号的摄像头自行开发。
Resize :
打开终端进入工作目录
cd ${ISAAC_ROS_WS}/src
进入 Isaac ROS Dev Docke容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行下面启动命令
xxxxxxxxxx ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=resize
打开第二个终端,进入容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行以下命令
xxxxxxxxxx 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
查看运行结果
打开第三个终端,进入容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行以下命令
xxxxxxxxxx ros2 run image_view image_view --ros-args --remap image:=resize/image

Color Conversion:
打开终端进入工作目录
注:如果已经开启过容器运行过其他命令,请在第一个终端输入 exit 退出所有docker容器后再运行命令。
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src
进入 Isaac ROS Dev Docke容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行下面启动命令
xxxxxxxxxx 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
打开第二个终端,进入容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行以下命令
xxxxxxxxxx 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
查看运行结果
打开第三个终端,进入容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行以下命令
xxxxxxxxxx ros2 run image_view image_view --ros-args --remap image:=image_mono

Crop:
打开终端进入工作目录
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src
进入 Isaac ROS Dev Docke容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行下面启动命令
xxxxxxxxxx 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
打开第二个终端,进入容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行以下命令
xxxxxxxxxx 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
查看运行结果
打开第三个终端,进入容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行以下命令
xxxxxxxxxx ros2 run image_view image_view --ros-args --remap image:=crop/image

Rectify:
打开终端进入工作目录
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src
进入 Isaac ROS Dev Docke容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行下面启动命令
xxxxxxxxxx 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
打开第二个终端,进入容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行以下命令
xxxxxxxxxx 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
查看运行结果
打开第三个终端,进入容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行以下命令
xxxxxxxxxx ros2 run image_view image_view --ros-args --remap image:=image_rect

Flip:
打开终端进入工作目录
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src
进入 Isaac ROS Dev Docke容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行下面启动命令
xxxxxxxxxx ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=flip
打开第二个终端,进入容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行以下命令
xxxxxxxxxx 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
查看运行结果
打开第三个终端,进入容器
xxxxxxxxxx cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
运行以下命令
xxxxxxxxxx ros2 run image_view image_view --ros-args --remap image:=image_flipped
