MarineRoboticsGroup / tonioviz

Finally, a nice C++ visualization tool.
5 stars 0 forks source link

tonioviz to the rescue

Prerequisites

For the moment, make sure you install:

and let me know if it breaks...

Then just checkout the examples/SimpleCheckout.cpp exec and let me know if it runs for you.

Examples

Here are some examples:

Drawing keyframes

The types of supported keyframes for drawing are:

  mrg::VisualizerParams params;
  params.kftype = mrg::KeyframeDrawType::kTriad;
  // Or
  params.kftype = mrg::KeyframeDrawType::kFrustum;
  // Or
  params.kftype = mrg::KeyframeDrawType::kPoint;

It is possible to switch between representations in real-time by pressing the k key (for "keyframe").

Additionally, it is possible to choose to draw either only the most recent keyframe, or the full keyframe history (default) by modifying the visualizer's parameter onlylatest:

  mrg::VisualizerParams params;
  params.onlylatest = true;  // Draws only the most recent one.
  params.onlylatest = false;  // Draws all of them (default).

This can also be dynamically modified during runtime by pressing the key l (for "latest").

The size of the keyframe can be modified by the visualizer parameter frustum_scale, which is in meters:

  mrg::VisualizerParams params;
  params.frustum_scale = 0.1; // [m], default value.
latest only full history
frustums fl ff
triads tl tf

Troubleshooting

SimpleCheckout.cpp data

Simple checkout was created with Kurran's Blue ROV data in mind, which you can find in this link.

Filesystem

If you get an error regarding filesystem due to

#include <filesystem>

and

std::filesystem::exists(name)

from /src/DataUtils.cpp, in the LoadImages function, then you need to upgrade your GCC compilers. An easy peasy way to do it is by following this guide.