Class Dictionary

Class Documentation

class Dictionary

Represents a set of valid marker ids with a maximum size of 8x8 = 64 bits. In our approach, markers are seen as a pair code-id. The code is the internal binary code printed on the marker. Maximum size is 8x8 bits. The id is a smaller number you can use to identify it. You will use only the id

See enum DICT_TYPES for the set of dicitionaries availables

Public Types

enum DICT_TYPES

Values:

enumerator ALL_DICTS
enumerator ARUCO_MIP_36h12
enumerator ARUCO
enumerator ARUCO_MIP_25h7
enumerator ARUCO_MIP_16h3
enumerator ARTAG
enumerator ARTOOLKITPLUS
enumerator ARTOOLKITPLUSBCH
enumerator TAG16h5
enumerator TAG25h7
enumerator TAG25h9
enumerator TAG36h11
enumerator TAG36h10
enumerator CHILITAGS
enumerator CUSTOM

Public Functions

inline bool is(uint64_t code) const
inline DICT_TYPES getType() const
inline uint64_t size() const
inline uint32_t nbits() const
inline uint32_t tau() const
inline std::string getName() const
inline const std::map<uint64_t, uint16_t> &getMapCode() const
inline int operator[](uint64_t code)
inline int at(uint64_t code)
cv::Mat getMarkerImage_id(int id, int bit_size, bool addWaterMark = true, bool enclosed_corners = false, bool printExternalWhiteBorder = false, bool centralCircle = false)
MarkerMap createMarkerMap(cv::Size gridSize, int MarkerSize, int MarkerDistance, const std::vector<int> &Ids, bool chess_board = false)

Public Static Functions

static Dictionary loadPredefined(DICT_TYPES type)
static Dictionary loadPredefined(std::string type)
static Dictionary loadFromFile(std::string path)

loads a dictionary defined in a file Please note that the parsing is very basic and you must be very strict.

Here is an example of a 3x3 dictionary of 3 markers 010 111 000 001 101 001 001 010 100

static Dictionary load(std::string info)

Loads a dictioanary using the string passed. If it is a string of the predefined dictionaries, then returns it. Otherwise, tries to load from a file

static uint64_t computeDictionaryDistance(const Dictionary &d)
static DICT_TYPES getTypeFromString(std::string str)
static std::string getTypeString(DICT_TYPES t)
static bool isPredefinedDictinaryString(std::string str)
static std::vector<std::string> getDicTypes()