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)
        通用的 Board 构造函数
        参数
        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>> 或 std::vector<Mat>,其中包含 Aruco 标记角点。对于 cv::CharucoBoard,该方法需要 std::vector<Point2f> 或 Mat,其中包含 ChAruco 角点(与 Aruco 标记匹配的棋盘角点)。
        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