9.5 画像補正と前処理
Docker 使用リファレンス: モジュール 3.7 Docker
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 公式サイトを参照して指定モデルの NVIDIA カメラを接続してください。
リサイズ:
ターミナルを開き、ワークスペースに移動し、Isaac ROS 開発コンテナに入ります。
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次の起動コマンドを実行します:
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=resize2 つ目のターミナルを開いてコンテナに入ります。
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次のコマンドを実行します:
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結果を表示
3 つ目のターミナルを開いてコンテナに入ります。
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次のコマンドを実行します:

ros2 run image_view image_view --ros-args --remap image:=resize/image色変換
ターミナルを開いてワークスペースに移動します
注意:コンテナが既に開かれていて他のコマンドが操作されている場合は、最初のターミナルですべての docker コンテナから exit して終了してからコマンドを開始してください。
ターミナルを開き、ワークスペースに移動し、Isaac ROS 開発コンテナに入ります。
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次の起動コマンドを実行します:
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.json2 つ目のターミナルを開いてコンテナに入ります。
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次のコマンドを実行します:
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結果を表示
3 つ目のターミナルを開いてコンテナに入ります。
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次のコマンドを実行します:

ros2 run image_view image_view --ros-args --remap image:=image_monoクロップ
ターミナルを開き、ワークスペースに移動し、Isaac ROS 開発コンテナに入ります。
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次の起動コマンドを実行します:
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.json2 つ目のターミナルを開いてコンテナに入ります。
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次のコマンドを実行します:
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結果を表示
3 つ目のターミナルを開いてコンテナに入ります。
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次のコマンドを実行します:

ros2 run image_view image_view --ros-args --remap image:=crop/image補正
ターミナルを開き、ワークスペースに移動し、Isaac ROS 開発コンテナに入ります。
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次の起動コマンドを実行します:
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.json2 つ目のターミナルを開いてコンテナに入ります。
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次のコマンドを実行します:
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結果を表示
3 つ目のターミナルを開いてコンテナに入ります。
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次のコマンドを実行します:

ros2 run image_view image_view --ros-args --remap image:=image_rectフリップ
ターミナルを開き、ワークスペースに移動し、Isaac ROS 開発コンテナに入ります。
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次の起動コマンドを実行します:
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=flip2 つ目のターミナルを開いてコンテナに入ります。
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次のコマンドを実行します:
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結果を表示
3 つ目のターミナルを開いてコンテナに入ります。
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh次のコマンドを実行します:

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