Package org.opencv.objdetect
Class Dictionary
java.lang.Object
org.opencv.objdetect.Dictionary
Dictionary is a set of unique ArUco markers of the same size
bytesList storing as 2-dimensions Mat with 4-th channels (CV_8UC4 type was used) and contains the marker codewords where:
- bytesList.rows is the dictionary size
- each marker is encoded using nbytes = ceil(markerSize*markerSize/8.) bytes
- each row contains all 4 rotations of the marker, so its length is 4*nbytes
- the byte order in the bytesList[i] row:
//bytes without rotation/bytes with rotation 1/bytes with rotation 2/bytes with rotation 3//
So bytesList.ptr(i)[k*nbytes + j] is the j-th byte of i-th marker, in its k-th rotation.
Note: Python bindings generate matrix with shape of bytesList dictionary_size x nbytes x 4,
but it should be indexed like C++ version. Python example for j-th byte of i-th marker, in its k-th rotation:
aruco_dict.bytesList[id].ravel()[k*nbytes + j]-
Constructor Summary
ConstructorsConstructorDescriptionDictionary(Mat bytesList, int _markerSize) Basic ArUco dictionary constructorDictionary(Mat bytesList, int _markerSize, int maxcorr) Basic ArUco dictionary constructor -
Method Summary
Modifier and TypeMethodDescriptionstatic Dictionary__fromPtr__(long addr) voidgenerateImageMarker(int id, int sidePixels, Mat _img) Generate a canonical marker imagevoidgenerateImageMarker(int id, int sidePixels, Mat _img, int borderBits) Generate a canonical marker imageintintstatic MatgetBitsFromByteList(Mat byteList, int markerSize) Transform list of bytes to matrix of bitsstatic MatgetByteListFromBits(Mat bits) Transform matrix of bits to list of bytes with 4 marker rotationsintgetDistanceToId(Mat bits, int id) Returns Hamming distance of the input bits to the specific id.intgetDistanceToId(Mat bits, int id, boolean allRotations) Returns Hamming distance of the input bits to the specific id.longbooleanGiven a matrix of bits.voidset_bytesList(Mat bytesList) voidset_markerSize(int markerSize) voidset_maxCorrectionBits(int maxCorrectionBits)
-
Constructor Details
-
Dictionary
public Dictionary() -
Dictionary
Basic ArUco dictionary constructor- Parameters:
bytesList- bits for all ArUco markers in dictionary see memory layout in the class description_markerSize- ArUco marker size in unitsmaxcorr- maximum number of bits that can be corrected
-
Dictionary
Basic ArUco dictionary constructor- Parameters:
bytesList- bits for all ArUco markers in dictionary see memory layout in the class description_markerSize- ArUco marker size in units
-
-
Method Details
-
getNativeObjAddr
public long getNativeObjAddr() -
__fromPtr__
-
identify
Given a matrix of bits. Returns whether if marker is identified or not. Returns reference to the marker id in the dictionary (if any) and its rotation.- Parameters:
onlyBits- automatically generatedidx- automatically generatedrotation- automatically generatedmaxCorrectionRate- automatically generated- Returns:
- automatically generated
-
getDistanceToId
Returns Hamming distance of the input bits to the specific id. IfallRotationsflag is set, the four posible marker rotations are considered- Parameters:
bits- automatically generatedid- automatically generatedallRotations- automatically generated- Returns:
- automatically generated
-
getDistanceToId
Returns Hamming distance of the input bits to the specific id. IfallRotationsflag is set, the four posible marker rotations are considered- Parameters:
bits- automatically generatedid- automatically generated- Returns:
- automatically generated
-
generateImageMarker
Generate a canonical marker image- Parameters:
id- automatically generatedsidePixels- automatically generated_img- automatically generatedborderBits- automatically generated
-
generateImageMarker
Generate a canonical marker image- Parameters:
id- automatically generatedsidePixels- automatically generated_img- automatically generated
-
getByteListFromBits
Transform matrix of bits to list of bytes with 4 marker rotations- Parameters:
bits- automatically generated- Returns:
- automatically generated
-
getBitsFromByteList
Transform list of bytes to matrix of bits- Parameters:
byteList- automatically generatedmarkerSize- automatically generated- Returns:
- automatically generated
-
get_bytesList
-
set_bytesList
-
get_markerSize
public int get_markerSize() -
set_markerSize
public void set_markerSize(int markerSize) -
get_maxCorrectionBits
public int get_maxCorrectionBits() -
set_maxCorrectionBits
public void set_maxCorrectionBits(int maxCorrectionBits)
-