类 Board

  • 直接已知子类
    CharucoBoard, GridBoard

    public class Board
    extends java.lang.Object
    ArUco 标记的棋盘。棋盘是在 3D 空间中具有共同坐标系的一组标记。 标记棋盘的常见形式是平面 (2D) 棋盘,但是可以使用任何 3D 布局。 Board 对象由以下部分组成: - 标记角点的对象点,即它们相对于棋盘系统的坐标。 - 指示棋盘标记类型的字典 - 棋盘中所有标记的标识符。
    • 字段详细信息

      • nativeObj

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

      • Board

        protected Board​(long addr)
      • Board

        public Board​(java.util.List<Mat> objPoints,
                     Dictionary dictionary,
                     Mat ids)
        通用棋盘构造函数
        参数
        objPoints - 棋盘中所有标记角点的对象点数组
        dictionary - 此棋盘使用的标记字典
        ids - 棋盘中标记的标识符向量
    • 方法详细信息

      • getNativeObjAddr

        public long getNativeObjAddr()
      • __fromPtr__

        public static Board __fromPtr__​(long addr)
      • getDictionary

        public Dictionary getDictionary()
        返回此棋盘使用的标记字典
        返回
        自动生成
      • getObjPoints

        public java.util.List<MatOfPoint3f> getObjPoints()
        返回棋盘中所有标记角点的对象点数组。 每个标记都包含其 4 个角点,顺序如下: - objPoints[i][0] - 第 i 个标记的左上角点 - objPoints[i][1] - 第 i 个标记的右上角点 - objPoints[i][2] - 第 i 个标记的右下角点 - objPoints[i][3] - 第 i 个标记的左下角点 标记按一定的顺序放置 - 逐行,每行从左到右。 对于 M 个标记,大小为 Mx4。
        返回
        自动生成
      • getIds

        public MatOfInt getIds()
        棋盘中标记的标识符向量(应与 objPoints 的大小相同)
        返回
        标记标识符的向量
      • getRightBottomCorner

        public Point3 getRightBottomCorner()
        获取棋盘右下角的坐标,在调用函数 create() 时设置
        返回
        自动生成
      • matchImagePoints

        public void matchImagePoints​(java.util.List<Mat> detectedCorners,
                                     Mat detectedIds,
                                     Mat objPoints,
                                     Mat imgPoints)
        给定棋盘配置和一组检测到的标记,返回相应的图像点和对象点,可用于 solvePnP()
        参数
        detectedCorners - 检测到的棋盘标记角点的列表。 对于 cv::Board 和 cv::GridBoard,该方法期望 std::vector<std::vector<Point2f>> 或带有 Aruco 标记角点的 std::vector<Mat>。 对于 cv::CharucoBoard,该方法期望带有 ChAruco 角点(与 Aruco 标记匹配的棋盘角点)的 std::vector<Point2f> 或 Mat。
        detectedIds - 每个标记或 charuco 角点的标识符列表。 对于任何 Board 类,该方法期望 std::vector<int> 或 Mat。
        objPoints - 棋盘坐标空间中的标记点向量。 对于任何 Board 类,该方法期望 std::vector<cv::Point3f> objectPoints 或 cv::Mat
        imgPoints - 图像坐标空间中的标记点向量。 对于任何 Board 类,该方法期望 std::vector<cv::Point2f> objectPoints 或 cv::Mat 参见:solvePnP
      • generateImage

        public void generateImage​(Size outSize,
                                  Mat img,
                                  int marginSize,
                                  int borderBits)
        绘制平面棋盘
        参数
        outSize - 输出图像的大小(以像素为单位)。
        img - 带有棋盘的输出图像。 此图像的大小将为 outSize,并且棋盘将位于中心,保持棋盘的比例。
        marginSize - 棋盘在输出图像中的最小边距(以像素为单位)
        borderBits - 标记边框的宽度。 此函数返回棋盘的图像,可供打印。
      • generateImage

        public void generateImage​(Size outSize,
                                  Mat img,
                                  int marginSize)
        绘制平面棋盘
        参数
        outSize - 输出图像的大小(以像素为单位)。
        img - 带有棋盘的输出图像。 此图像的大小将为 outSize,并且棋盘将位于中心,保持棋盘的比例。
        marginSize - 棋盘在输出图像中的最小边距(以像素为单位)。 此函数返回棋盘的图像,可供打印。
      • generateImage

        public void generateImage​(Size outSize,
                                  Mat img)
        绘制平面棋盘
        参数
        outSize - 输出图像的大小(以像素为单位)。
        img - 带有棋盘的输出图像。 此图像的大小将为 outSize,并且棋盘将位于中心,保持棋盘的比例。 此函数返回棋盘的图像,可供打印。
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        重写
        finalize 在类 java.lang.Object
        抛出
        java.lang.Throwable