ov_core::TrackAruco class

Tracking of OpenCV Aruoc tags.

This class handles the tracking of OpenCV Aruco tags. We track the corners of the tag as compared to the pose of the tag or any other corners. Right now we hardcode the dictionary to be cv::aruco::DICT_6X6_1000, so please generate tags in this family of tags. You can generate these tags using an online utility: https://chev.me/arucogen/ The actual size of the tags do not matter since we do not recover the pose and instead just use this for re-detection and tracking of the four corners of the tag.

Base classes

class TrackBase
Visual feature tracking base class.

Constructors, destructors, conversion operators

TrackAruco(std::unordered_map<size_t, std::shared_ptr<CamBase>> cameras, int numaruco, bool stereo, HistogramMethod histmethod, bool downsize) explicit
Public constructor with configuration variables.

Public functions

void feed_new_camera(const CameraData& message) override
Process a new image.

Function documentation

ov_core::TrackAruco::TrackAruco(std::unordered_map<size_t, std::shared_ptr<CamBase>> cameras, int numaruco, bool stereo, HistogramMethod histmethod, bool downsize) explicit

Public constructor with configuration variables.

Parameters
cameras camera calibration object which has all camera intrinsics in it
numaruco the max id of the arucotags, we don't use any tags greater than this value even if we extract them
stereo if we should do stereo feature tracking or binocular
histmethod what type of histogram pre-processing should be done (histogram eq?)
downsize we can scale the image by 1/2 to increase Aruco tag extraction speed

void ov_core::TrackAruco::feed_new_camera(const CameraData& message) override

Process a new image.

Parameters
message Contains our timestamp, images, and camera ids