类 Dictionary


  • public class Dictionary
    extends java.lang.Object
    Dictionary 是一组唯一的相同大小的 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 绑定生成 bytesList dictionary_size x nbytes x 4 形状的矩阵,但应像 C++ 版本一样进行索引。Python 示例,用于 i 个标记的第 j 个字节,在其第 k 个旋转中:aruco_dict.bytesList[id].ravel()[k*nbytes + j]
    • 字段详细信息

      • nativeObj

        protected final long nativeObj
    • 构造函数详细信息

      • 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