ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

There aren't. In fact, rosmsg users visualization_msgs/ImageMarker comes up completely dry.

The problem with ImageMarker is that there's a very simple alternative: just draw your markers/annotations on the input image, publish that as a new topic, and watch in image_view. Why use ImageMarker then?

Pros:

  • Maybe you save bandwidth if you need both the original and marked-up images.

Cons:

  • You get a very limited set of operations.
  • It's cumbersome. If I want to draw circles around a bunch of feature points in an image, it's actually more work to publish a bunch of ImageMarkers than to use cv::circle().
  • Now you have synchronization issues between the marker and image messages.

So, I don't see the use case. You add complexity without gaining a whole lot. Probably ImageMarker was a bad idea from the beginning.

By contrast, visualization_msgs/Marker is useful because it lets you talk to rviz, and because it describes the world. Marker can be understood on its own. rviz integrates data about the world from an arbitrary number of sources, so a Marker topic is just one more channel. Whereas an ImageMarker is useless without the source image, so why separate the two?