Edgelet 2D Tracking using C++

The sample metavision_edgelet_2d_tracking.cpp demonstrates how to use the Metavision SDK CV3D module to detect and track 2D edgelets in a time surface.

By edgelets, we mean short segments of edges that are locally straight or slightly curved (at max 30°). Edgelets are detected on a grid, by default 16x16 pixels in the sample.

The source code of this sample can be found in <install-prefix>/share/metavision/sdk/cv3d/samples/metavision_edgelet_2d_tracking when installing Metavision SDK from installer or packages. For other deployment methods, check the page Path of Samples.

Expected Output

The sample visualizes events and detected and/or tracked edgelets using the following color-code:

  • edgelets that are tracked are shown in green

  • edgelets that are not tracked are shown in red

  • newly detected edgelets are shown in blue

How to start

First, compile the sample as described in this tutorial.

To start the sample based on the live stream from your camera, run:





To start the sample, you need to provide recorded data with the full path to a RAW file (here, we use a file from our Sample Recordings):


./metavision_edgelet_2d_tracking -i marker.raw


metavision_edgelet_2d_tracking.exe -i marker.raw

To check for additional options:


./metavision_edgelet_2d_tracking -h


metavision_edgelet_2d_tracking.exe -h