.. _program_listing_file__tmp_ws_src_aruco_ros_aruco_include_aruco_fractallabelers_fractallabeler.h: Program Listing for File fractallabeler.h ========================================= |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/aruco_ros/aruco/include/aruco/fractallabelers/fractallabeler.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #include "../markerlabeler.h" #include "fractalposetracker.h" namespace aruco { class FractalMarkerLabeler : public MarkerLabeler { public: static cv::Ptr create(std::string params) { FractalMarkerSet fractalMarkerSet = FractalMarkerSet::load(params); FractalMarkerLabeler* fml = new FractalMarkerLabeler(); fml->setConfiguration(fractalMarkerSet); return fml; } static cv::Ptr create(FractalMarkerSet::CONF_TYPES conf) { FractalMarkerSet fractalMarkerSet = FractalMarkerSet::loadPredefined(conf); FractalMarkerLabeler* fml = new FractalMarkerLabeler(); fml->setConfiguration(fractalMarkerSet); return fml; } void setConfiguration(const FractalMarkerSet& fractMarkerSet); static bool isFractalDictionaryFile(const std::string& path); virtual ~FractalMarkerLabeler() { } bool load(const std::string& path); // returns the configuration name std::string getName() const; // main virtual class to o detection bool detect(const cv::Mat& in, int& marker_id, int& nRotations, std::string& additionalInfo); int getNSubdivisions() const { return (sqrt(_fractalMarkerSet.nBits()) + 2); } FractalMarkerSet _fractalMarkerSet; private: bool getInnerCode(const cv::Mat& thres_img, int total_nbits, std::vector& ids); cv::Mat rotate(const cv::Mat& in); }; } // namespace aruco