BipedalLocomotion::Perception::ArucoDetector class

Base classes

template<class Output>
class BipedalLocomotion::System::Source<ArucoDetectorOutput>
Source is a template specialization of Advanceable and represents a block that does not contains input.

Constructors, destructors, conversion operators

ArucoDetector()
~ArucoDetector()

Public functions

auto initialize(std::weak_ptr<const ParametersHandler::IParametersHandler> handler) -> bool final
Initialize the detector.
auto setImage(const cv::Mat& inputImg, double timeNow) -> bool
Set image for which markers need to be detected.
auto advance() -> bool final
Compute one step of the detector.
auto getOutput() const -> const ArucoDetectorOutput& final
Get the detected markers' data from the current step.
auto getDetectedMarkerData(const int& id, ArucoMarkerData& markerData) -> bool
Get the detected marker data.
auto getImageWithDetectedMarkers(cv::Mat& outputImg, const bool& drawFrames = false, const double& axisLengthForDrawing = 0.1) -> bool
Get the image with drawn detected markers.
auto isOutputValid() const -> bool final
Determines the validity of the object retrieved with get()

Function documentation

bool BipedalLocomotion::Perception::ArucoDetector::initialize(std::weak_ptr<const ParametersHandler::IParametersHandler> handler) final

Initialize the detector.

Returns True in case of success, false otherwise.

bool BipedalLocomotion::Perception::ArucoDetector::setImage(const cv::Mat& inputImg, double timeNow)

Set image for which markers need to be detected.

Parameters
inputImg in image as OpenCV mat
timeNow in current time in chosen time units it is useful for bookkeeping or time delay synchronization
Returns True in case of success, false otherwise

bool BipedalLocomotion::Perception::ArucoDetector::advance() final

Compute one step of the detector.

Returns True in case of success, false otherwise

const ArucoDetectorOutput& BipedalLocomotion::Perception::ArucoDetector::getOutput() const final

Get the detected markers' data from the current step.

Returns A struct containing a map container of detected markers.

bool BipedalLocomotion::Perception::ArucoDetector::getDetectedMarkerData(const int& id, ArucoMarkerData& markerData)

Get the detected marker data.

Parameters
id in marker id
markerData in detected marker identifiers data
Returns True in case of success, false if marker was not detected

bool BipedalLocomotion::Perception::ArucoDetector::getImageWithDetectedMarkers(cv::Mat& outputImg, const bool& drawFrames = false, const double& axisLengthForDrawing = 0.1)

Get the image with drawn detected markers.

Parameters
outputImg in image with detected markers drawn on it
drawFrames in draw also estimated marker poses, set to false by default
axisLengthForDrawing in axis length for drawing the frame axes, 0.1 by default
Returns True in case of success, false if no marker was detected

bool BipedalLocomotion::Perception::ArucoDetector::isOutputValid() const final

Determines the validity of the object retrieved with get()

Returns True if the object is valid, false otherwise.