Create panoramas in ROS using image snapshots or multiple video streams.
- Maintainer status: maintained
- Maintainer: Daniel Snider <danielsnider12 AT gmail DOT com>
- Author: Daniel Snider <danielsnider12 AT gmail DOT com>
- License: Unlicense
- Source: git https://github.com/danielsnider/hugin_panorama.git (branch: master)
Create panoramas using image snapshots or multiple video streams.
Panorama by Senza Senso (cc).
$ sudo apt-get install ros-kinetic-hugin-panorama hugin-tools enblend
2. Launch node:
$ roslaunch hugin_panorama hugin_panorama.launch image:=/image_topic
3. Save individual images for input to the panorama: (order doesn't matter)
$ rosservice call /hugin_panorama/image_saver/save # change angle of camera $ rosservice call /hugin_panorama/image_saver/save # repeat as many times as you like...
4. Stitch the panorama:
$ rosservice call /hugin_panorama/stitch
5. View resulting panorama:
$ rqt_image_view /hugin_panorama/panorama/compressed # or open the panorama file $ roscd hugin_panorama; eog ./images/output.png
6. Start again:
$ rosservice call /hugin_panorama/reset
This command will clear the images waiting to be stitched so you can start collecting images for an entirely new panorama.
Live Panorama Mode
If you have more than one camera on your robot and you want to stitch them together repetitively in a loop, then use stitch_loop.launch. However, expect a slow frame rate of less than 1 Hz because this package is not optimized for speed (pull requests welcome).
1. Launch the stitch_loop node:
$ roslaunch hugin_panorama stitch_loop.launch image1:=/image_topic2 image2:=/image_topic2
2. View resulting live panorama:
$ rqt_image_view /hugin_panorama/panorama/compressed
If you have more than two cameras then you'll have to edit the simple python script (rosed hugin_panorama stitch_loop.py) and the launch file (rosed hugin_panorama stitch_loop.launch).
Published Topicspanorama/compressed (sensor_msgs/CompressedImage)
- The resulting panorama.
- Create the panorama.
- Clear images waiting to be stitched.
Parameters~images_path (string, default: "$(find hugin_panorama)/images")
- This is the working directory where input and output images for the panorama are stored.
This node provided by the image_view package allows you to save images as jpg/png file from a sensor_msgs/Image topic. The saved images are used when stitching the panoramas. The image_saver node should save images to the same location that the hugin_panorama node will look in when stitching. See hugin_panorama.launch for a proper usage example. See the image_saver wiki for full node documentation.