Robot Operating System/ROS

[ROS Melodic] ROS image topic을 이미지 추출(저장)하기

jstar0525 2022. 12. 20. 21:05
반응형

Env.

ROS Melodic

ZED 2i

 

과정요약

현재 publish하는 image topic으로부터 이미지를 저장하거나

bag 파일로 저장하여 bag파일로부터 이미지를 저장

 

ROS Command 실행

1. 카메라에서 image topic을 publish하거나 rosbag에서 저장된 이미지를 play

2. 해당 image topic에 대해 아래의 명령 실행

rosrun image_view extract_images image:=/zed2i/zed_node/rgb/image_rect_color

 

ROS Launch 파일 실행

1. 해당 bag파일이 저장된 경로와 image topic에 대해서, 아래의 launch 파일을 만들어 실행

sudo nano save_fig.launch
<launch>

  <arg name="bag_path" default="/root/zed_ws/src/bag/"/>
  <arg name="bag_file" default="_2022-12-19-03-03-13"/>

  <arg name="image_topic" default="/zed2i/zed_node/rgb/image_rect_color"/>

  <node pkg="rosbag" type="play" name="rosbag" required="true" args="--clock $(arg bag_path)$(arg bag_file).bag"/>
  
  <node name="extract" pkg="image_view" type="extract_images" respawn="false" required="true" output="screen" cwd="ROS_HOME">
    <remap from="image" to="$(arg image_topic)"/>
    <param name="sec_per_frame" type="double" value="0.01" />
  </node>

</launch>
roslaunch save_fig.launch bag_file:=_2022-12-16-09-19-22

2. 이미지 저장 경로는 ~/.ros 이므로, 원하는 경로에 파일 이동

mv ~/.ros/frame*.jpg /root/zed_ws/src/bag/fig/
반응형