rosbag から連番の画像ファイルを生成する
カメラ画像を録画した rosbag データから、連番の画像ファイルを生成する方法です。
画像ファイルを生成する
基本的には ja/rosbag/Tutorials/Exporting image and video data - ROS Wiki に載っている手順の通りに行うだけです。
launch ファイルの作成
以下のような launch ファイル(例: bag-to-image.launch
)を作成します。
<launch> <!-- rosbag を再生するノード --> <node pkg="rosbag" type="play" name="rosbag" args="-d 2 rosbagまでのフルパス(例: /opt/ros/bag/your.bag)"/> <!-- カメラ映像から画像ファイルを生成するノード --> <node name="extract" pkg="image_view" type="extract_images" respawn="false" output="screen"> <remap from="image" to="カメラ画像のトピック名(例: /camera/image_raw)"/> <param name="filename_format" value="画像ファイルを保存するフォルダとファイル名のフォーマット (例: /home/ros/Pictures/frame%04d.jpg)" /> </node> </launch>
launch ファイルの実行
上記の launch ファイルを実行します。
$ roslaunch ./bag-to-image.launch
実行が完了すると、指定したフォルダ(例: /home/ros/Pictures/
)に frame0001.jpg
のような連番の画像ファイルが生成されます。簡単ですね!