Board 类
- java.lang.Object
-
- org.opencv.objdetect.Board
-
- 直接已知子类
CharucoBoard
,GridBoard
public class Board extends java.lang.Object
ArUco 标记板 一个板是在具有公共坐标系的 3D 空间中的一组标记。标记板的常见形式是平面 (2D) 板,但是可以使用任何 3D 布局。Board 对象由以下部分组成:- 标记角点的对象点,即它们相对于板系统的坐标。- 指示板标记类型的字典 - 板中所有标记的标识符。
-
-
字段摘要
字段 修饰符和类型 字段 描述 protected long
nativeObj
-
构造函数摘要
构造函数 修饰符 构造函数 描述 protected
Board(long addr)
Board(java.util.List<Mat> objPoints, Dictionary dictionary, Mat ids)
通用的 Board 构造函数
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static Board
__fromPtr__(long addr)
protected void
finalize()
void
generateImage(Size outSize, Mat img)
绘制平面板void
generateImage(Size outSize, Mat img, int marginSize)
绘制平面板void
generateImage(Size outSize, Mat img, int marginSize, int borderBits)
绘制平面板字典
getDictionary()
返回此板使用的标记字典MatOfInt
getIds()
板中标记标识符的向量(应与 objPoints 大小相同)long
getNativeObjAddr()
java.util.List<MatOfPoint3f>
getObjPoints()
返回板中所有标记角点对象点的数组。Point3
getRightBottomCorner()
获取板的右下角坐标,在调用 create() 函数时设置void
matchImagePoints(java.util.List<Mat> detectedCorners, Mat detectedIds, Mat objPoints, Mat imgPoints)
给定板配置和一组检测到的标记,返回相应的图像点和对象点,可用于 solvePnP()
-
-
-
构造函数详情
-
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::MatimgPoints
- 图像坐标空间中的标记点向量。对于任何 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
-
-