Foxglove users can now annotate their camera images with the [`TextAnnotation` message schema](https://docs.foxglove.dev/docs/visualization/message-schemas/text-annotation) – whether you’re using ROS, Protobuf, or [any other supported serialization format](https://mcap.dev/guides#supported-formats).

Text annotations can dramatically enrich how you debug your robots’ perception modules. By rendering useful metadata in-context, text annotations can facilitate faster comprehension and richer analysis.

_Labeling bounding boxes can help roboticists quickly understand how their perception stack is performing._

To display your own annotated images in Foxglove, check out our [`text-annotation-demo`](https://github.com/foxglove/mcap/tree/main/typescript/examples/text-annotation-demo) in the [MCAP GitHub repo](https://github.com/foxglove/mcap). This simple example renders a ball bouncing around a scene over time, and [publishes two `TextAnnotation` messages](https://github.com/foxglove/mcap/blob/main/typescript/examples/text-annotation-demo/scripts/Scene.ts#L113-L136) to label the scene with the timestamp (top left corner of the scene) and the ball’s position (above our perceived bouncing box).

Run the demo script to output a `text-annotation-example.mcap` file for visualization in Foxglove. Add an [Image panel](https://docs.foxglove.dev/docs/visualization/panels/image) to your layout, and toggle on the “annotations” topic in the panel settings to display both labels:

While this exercise demonstrates a rather simple use case for annotated images, we hope it inspires your team to annotate your images – with perception labels, error messages, or other useful metadata.

For more information on image annotations, you can check out [our docs](https://docs.foxglove.dev/docs/visualization/message-schemas/text-annotation) or contact us directly in our [Discord community](/content/chat/index.html) with any questions.
