类 Dictionary
- java.lang.Object
-
- org.opencv.objdetect.Dictionary
-
public class Dictionary extends java.lang.ObjectDictionary 是一组唯一的相同大小的 ArUco 标记,bytesList以 4 通道的 2 维 Mat 存储(使用 CV_8UC4 类型),包含标记码字,其中:- bytesList.rows 是字典大小 - 每个标记使用nbytes = ceil(markerSize*markerSize/8.)字节进行编码 - 每行包含标记的所有 4 个旋转,因此其长度为4*nbytes- bytesList[i] 行中的字节顺序://没有旋转的字节/旋转 1 次的字节/旋转 2 次的字节/旋转 3 次的字节//因此bytesList.ptr(i)[k*nbytes + j]是第 i 个标记的第 j 个字节,在其第 k 个旋转中。注意: Python 绑定生成 bytesListdictionary_size x nbytes x 4形状的矩阵,但应像 C++ 版本一样进行索引。Python 示例,用于 i 个标记的第 j 个字节,在其第 k 个旋转中:aruco_dict.bytesList[id].ravel()[k*nbytes + j]
-
-
字段摘要
字段 修饰符和类型 字段 描述 protected longnativeObj
-
构造函数摘要
构造函数 修饰符 构造函数 描述 Dictionary()保护Dictionary(long addr)Dictionary(Mat bytesList, int _markerSize)基本的 ArUco 字典构造函数Dictionary(Mat bytesList, int _markerSize, int maxcorr)基本的 ArUco 字典构造函数
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static Dictionary__fromPtr__(long addr)protected voidfinalize()voidgenerateImageMarker(int id, int sidePixels, Mat _img)生成一个规范的标记图像voidgenerateImageMarker(int id, int sidePixels, Mat _img, int borderBits)生成一个规范的标记图像Matget_bytesList()intget_markerSize()intget_maxCorrectionBits()static MatgetBitsFromByteList(Mat byteList, int markerSize)将字节列表转换为位矩阵static MatgetByteListFromBits(Mat bits)将位矩阵转换为具有 4 个标记旋转的字节列表intgetDistanceToId(Mat bits, int id)返回输入位到特定 id 的汉明距离。intgetDistanceToId(Mat bits, int id, boolean allRotations)返回输入位到特定 id 的汉明距离。longgetNativeObjAddr()booleanidentify(Mat onlyBits, int[] idx, int[] rotation, double maxCorrectionRate)给定一个位矩阵。voidset_bytesList(Mat bytesList)voidset_markerSize(int markerSize)voidset_maxCorrectionBits(int maxCorrectionBits)
-
-
-
构造函数详细信息
-
Dictionary
protected Dictionary(long addr)
-
Dictionary
public Dictionary()
-
Dictionary
public Dictionary(Mat bytesList, int _markerSize, int maxcorr)
基本的 ArUco 字典构造函数- 参数
bytesList- 字典中所有 ArUco 标记的位,请参阅类描述中的内存布局_markerSize- ArUco 标记大小(以单位计)maxcorr- 可以纠正的最大位数
-
Dictionary
public Dictionary(Mat bytesList, int _markerSize)
基本的 ArUco 字典构造函数- 参数
bytesList- 字典中所有 ArUco 标记的位,请参阅类描述中的内存布局_markerSize- ArUco 标记大小(以单位计)
-
-
方法详细信息
-
getNativeObjAddr
public long getNativeObjAddr()
-
__fromPtr__
public static Dictionary __fromPtr__(long addr)
-
identify
public boolean identify(Mat onlyBits, int[] idx, int[] rotation, double maxCorrectionRate)
给定一个位矩阵。返回是否识别标记。返回字典中标记 id 的引用(如果有)及其旋转。- 参数
onlyBits- 自动生成idx- 自动生成rotation- 自动生成maxCorrectionRate- 自动生成- 返回
- 自动生成
-
getDistanceToId
public int getDistanceToId(Mat bits, int id, boolean allRotations)
返回输入位到特定 id 的汉明距离。如果设置了allRotations标志,则会考虑四个可能的标记旋转- 参数
bits- 自动生成id- 自动生成allRotations- 自动生成- 返回
- 自动生成
-
getDistanceToId
public int getDistanceToId(Mat bits, int id)
返回输入位到特定 id 的汉明距离。如果设置了allRotations标志,则会考虑四个可能的标记旋转- 参数
bits- 自动生成id- 自动生成- 返回
- 自动生成
-
generateImageMarker
public void generateImageMarker(int id, int sidePixels, Mat _img, int borderBits)生成一个规范的标记图像- 参数
id- 自动生成sidePixels- 自动生成_img- 自动生成borderBits- 自动生成
-
generateImageMarker
public void generateImageMarker(int id, int sidePixels, Mat _img)生成一个规范的标记图像- 参数
id- 自动生成sidePixels- 自动生成_img- 自动生成
-
getByteListFromBits
public static Mat getByteListFromBits(Mat bits)
将位矩阵转换为具有 4 个标记旋转的字节列表- 参数
bits- 自动生成- 返回
- 自动生成
-
getBitsFromByteList
public static Mat getBitsFromByteList(Mat byteList, int markerSize)
将字节列表转换为位矩阵- 参数
byteList- 自动生成markerSize- 自动生成- 返回
- 自动生成
-
get_bytesList
public Mat get_bytesList()
-
set_bytesList
public void set_bytesList(Mat 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)
-
finalize
protected void finalize() throws java.lang.Throwable- 重写
finalize在类java.lang.Object中- 抛出
java.lang.Throwable
-
-