类 CharucoBoard


  • public class CharucoBoard
    extends Board
    ChArUco 棋盘是一个平面棋盘,其中标记放置在棋盘的白色方格内。ChArUco 棋盘的优点是它同时提供了 ArUco 标记的多功能性和棋盘角的精度,这对于标定和姿态估计非常重要。可以使用 generateImage() 方法绘制棋盘图像。
    • 构造函数详情

      • CharucoBoard

        protected CharucoBoard​(long addr)
      • CharucoBoard

        public CharucoBoard​(Size size,
                            float squareLength,
                            float markerLength,
                            Dictionary dictionary,
                            Mat ids)
        CharucoBoard 构造函数
        参数
        size - x 和 y 方向上的棋盘方格数
        squareLength - squareLength 棋盘方格边长(通常以米为单位)
        markerLength - 标记边长(与 squareLength 使用相同的单位)
        dictionary - 指示标记类型的标记字典
        ids - 使用的标记 ID 数组。字典中的第一个标记用于填充白色棋盘方格。
      • CharucoBoard

        public CharucoBoard​(Size size,
                            float squareLength,
                            float markerLength,
                            Dictionary dictionary)
        CharucoBoard 构造函数
        参数
        size - x 和 y 方向上的棋盘方格数
        squareLength - squareLength 棋盘方格边长(通常以米为单位)
        markerLength - 标记边长(与 squareLength 使用相同的单位)
        dictionary - 指示标记类型的标记字典。字典中的第一个标记用于填充白色棋盘方格。
    • 方法详情

      • __fromPtr__

        public static CharucoBoard __fromPtr__​(long addr)
      • setLegacyPattern

        public void setLegacyPattern​(boolean legacyPattern)
        设置传统棋盘模式。传统设置会在棋盘方格的行数为偶数时创建从左上角白色方格开始的棋盘模式,否则从黑色方格开始。此设置确保与 OpenCV 4.6.0 之前的版本创建的模式兼容。参见 https://github.com/opencv/opencv/issues/23152。默认值:false。
        参数
        legacyPattern - 自动生成
      • getLegacyPattern

        public boolean getLegacyPattern()
      • getChessboardSize

        public Size getChessboardSize()
      • getSquareLength

        public float getSquareLength()
      • getMarkerLength

        public float getMarkerLength()
      • getChessboardCorners

        public MatOfPoint3f getChessboardCorners()
        获取 CharucoBoard::chessboardCorners
        返回值
        自动生成
      • checkCharucoCornersCollinear

        public boolean checkCharucoCornersCollinear​(Mat charucoIds)
        检查 ChArUco 标记是否共线
        参数
        charucoIds - 每帧中 charucoCorners 中每个角的标识符列表。
        返回值
        布尔值,如果检测到的角形成一条直线,则为 1 (true),否则为 0 (false)。如果角是共线的 (true),则 solvePnP、标定函数将失败。charucoIDs 中的 ID 数量应小于等于棋盘中棋盘角的数量。此函数检查 charuco 角是否在直线上(如果是,则返回 true),或者不在直线上(false)。检测到轴平行线、对角线和其他直线。简并情况:对于 charucoIDs 数量 <= 2,函数返回 true。
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        覆盖
        finalize 在类 Board
        抛出
        java.lang.Throwable