类 CharucoDetector
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.objdetect.CharucoDetector
-
public class CharucoDetector extends Algorithm
-
-
构造函数摘要
构造函数 修饰符 构造函数 描述 保护CharucoDetector(long addr)CharucoDetector(CharucoBoard board)基本的 CharucoDetector 构造函数CharucoDetector(CharucoBoard board, CharucoParameters charucoParams)基本的 CharucoDetector 构造函数CharucoDetector(CharucoBoard board, CharucoParameters charucoParams, DetectorParameters detectorParams)基本的 CharucoDetector 构造函数CharucoDetector(CharucoBoard board, CharucoParameters charucoParams, DetectorParameters detectorParams, RefineParameters refineParams)基本的 CharucoDetector 构造函数
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 静态 CharucoDetector__fromPtr__(long addr)voiddetectBoard(Mat image, Mat charucoCorners, Mat charucoIds)检测 Aruco 标记并插值 ChArUco 板角的位置voiddetectBoard(Mat image, Mat charucoCorners, Mat charucoIds, java.util.List<Mat> markerCorners)检测 Aruco 标记并插值 ChArUco 板角的位置voiddetectBoard(Mat image, Mat charucoCorners, Mat charucoIds, java.util.List<Mat> markerCorners, Mat markerIds)检测 Aruco 标记并插值 ChArUco 板角的位置voiddetectDiamonds(Mat image, java.util.List<Mat> diamondCorners, Mat diamondIds)检测 ChArUco 菱形标记voiddetectDiamonds(Mat image, java.util.List<Mat> diamondCorners, Mat diamondIds, java.util.List<Mat> markerCorners)检测 ChArUco 菱形标记voiddetectDiamonds(Mat image, java.util.List<Mat> diamondCorners, Mat diamondIds, java.util.List<Mat> markerCorners, Mat markerIds)检测 ChArUco 菱形标记protected voidfinalize()CharucoBoardgetBoard()CharucoParametersgetCharucoParameters()DetectorParametersgetDetectorParameters()RefineParametersgetRefineParameters()voidsetBoard(CharucoBoard board)voidsetCharucoParameters(CharucoParameters charucoParameters)voidsetDetectorParameters(DetectorParameters detectorParameters)voidsetRefineParameters(RefineParameters refineParameters)-
从类继承的方法 org.opencv.core.Algorithm
clear, empty, getDefaultName, getNativeObjAddr, save
-
-
-
-
构造函数详细信息
-
CharucoDetector
protected CharucoDetector(long addr)
-
CharucoDetector
public CharucoDetector(CharucoBoard board, CharucoParameters charucoParams, DetectorParameters detectorParams, RefineParameters refineParams)
基本的 CharucoDetector 构造函数- 参数
board- ChAruco 板charucoParams- charuco 检测参数detectorParams- 标记检测参数refineParams- 标记细化检测参数
-
CharucoDetector
public CharucoDetector(CharucoBoard board, CharucoParameters charucoParams, DetectorParameters detectorParams)
基本的 CharucoDetector 构造函数- 参数
board- ChAruco 板charucoParams- charuco 检测参数detectorParams- 标记检测参数
-
CharucoDetector
public CharucoDetector(CharucoBoard board, CharucoParameters charucoParams)
基本的 CharucoDetector 构造函数- 参数
board- ChAruco 板charucoParams- charuco 检测参数
-
CharucoDetector
public CharucoDetector(CharucoBoard board)
基本的 CharucoDetector 构造函数- 参数
board- ChAruco 板
-
-
方法详细信息
-
__fromPtr__
public static CharucoDetector __fromPtr__(long addr)
-
getBoard
public CharucoBoard getBoard()
-
setBoard
public void setBoard(CharucoBoard board)
-
getCharucoParameters
public CharucoParameters getCharucoParameters()
-
setCharucoParameters
public void setCharucoParameters(CharucoParameters charucoParameters)
-
getDetectorParameters
public DetectorParameters getDetectorParameters()
-
setDetectorParameters
public void setDetectorParameters(DetectorParameters detectorParameters)
-
getRefineParameters
public RefineParameters getRefineParameters()
-
setRefineParameters
public void setRefineParameters(RefineParameters refineParameters)
-
detectBoard
public void detectBoard(Mat image, Mat charucoCorners, Mat charucoIds, java.util.List<Mat> markerCorners, Mat markerIds)
检测 Aruco 标记并插值 ChArUco 板角的位置- 参数
image- 角点细化所需的输入图像。 请注意,不会检测到标记,应在 corners 和 ids 参数中发送。charucoCorners- 插值的棋盘角点。charucoIds- 插值的棋盘角点标识符。markerCorners- 已检测到的标记角点的向量。 对于每个标记,都提供了其四个角点(例如 std::vector<std::vector<cv::Point2f> > )。 对于 N 个检测到的标记,此数组的维度应为 Nx4。 角点的顺序应为顺时针方向。 如果 markerCorners 和 markerCorners 为空,则该函数检测 Aruco 标记和 IDs。markerIds- corners 中每个标记的标识符列表。 如果 markerCorners 和 markerCorners 为空,则该函数检测 Aruco 标记和 IDs。 此函数接收检测到的标记,并使用检测到的 Aruco 标记从 ChArUco 板返回棋盘角点的 2D 位置。 如果 markerCorners 和 markerCorners 为空,detectMarkers() 将运行并检测 Aruco 标记和 IDs。 如果提供了相机参数,则该过程基于近似的姿势估计,否则基于局部单应性。 仅返回可见角点。 对于每个角点,其对应的标识符也以 charucoIds 返回。 SEE: findChessboardCorners 注意:在 OpenCV 4.6.0 之后,对于偶数行计数,ChArUco 模式生成算法发生了不兼容的更改。 使用 cv::aruco::CharucoBoard::setLegacyPattern() 确保与使用 4.6.0 之前的 OpenCV 版本创建的模式兼容。 有关更多信息,请参阅问题:https://github.com/opencv/opencv/issues/23152
-
detectBoard
public void detectBoard(Mat image, Mat charucoCorners, Mat charucoIds, java.util.List<Mat> markerCorners)
检测 Aruco 标记并插值 ChArUco 板角的位置- 参数
image- 角点细化所需的输入图像。 请注意,不会检测到标记,应在 corners 和 ids 参数中发送。charucoCorners- 插值的棋盘角点。charucoIds- 插值的棋盘角点标识符。markerCorners- 已检测到的标记角点的向量。 对于每个标记,都提供了其四个角点(例如 std::vector<std::vector<cv::Point2f> > )。 对于 N 个检测到的标记,此数组的维度应为 Nx4。 角点的顺序应为顺时针方向。 如果 markerCorners 和 markerCorners 为空,则该函数检测 Aruco 标记和 IDs。 如果 markerCorners 和 markerCorners 为空,则该函数检测 Aruco 标记和 IDs。 此函数接收检测到的标记,并使用检测到的 Aruco 标记从 ChArUco 板返回棋盘角点的 2D 位置。 如果 markerCorners 和 markerCorners 为空,detectMarkers() 将运行并检测 Aruco 标记和 IDs。 如果提供了相机参数,则该过程基于近似的姿势估计,否则基于局部单应性。 仅返回可见角点。 对于每个角点,其对应的标识符也以 charucoIds 返回。 SEE: findChessboardCorners 注意:在 OpenCV 4.6.0 之后,对于偶数行计数,ChArUco 模式生成算法发生了不兼容的更改。 使用 cv::aruco::CharucoBoard::setLegacyPattern() 确保与使用 4.6.0 之前的 OpenCV 版本创建的模式兼容。 有关更多信息,请参阅问题:https://github.com/opencv/opencv/issues/23152
-
detectBoard
public void detectBoard(Mat image, Mat charucoCorners, Mat charucoIds)
检测 Aruco 标记并插值 ChArUco 板角的位置- 参数
image- 角点细化所需的输入图像。 请注意,不会检测到标记,应在 corners 和 ids 参数中发送。charucoCorners- 插值的棋盘角点。charucoIds- 插值的棋盘角点标识符。 提供了角点(例如 std::vector<std::vector<cv::Point2f> > )。 对于 N 个检测到的标记,此数组的维度应为 Nx4。 角点的顺序应为顺时针方向。 如果 markerCorners 和 markerCorners 为空,则该函数检测 Aruco 标记和 IDs。 如果 markerCorners 和 markerCorners 为空,则该函数检测 Aruco 标记和 IDs。 此函数接收检测到的标记,并使用检测到的 Aruco 标记从 ChArUco 板返回棋盘角点的 2D 位置。 如果 markerCorners 和 markerCorners 为空,detectMarkers() 将运行并检测 Aruco 标记和 IDs。 如果提供了相机参数,则该过程基于近似的姿势估计,否则基于局部单应性。 仅返回可见角点。 对于每个角点,其对应的标识符也以 charucoIds 返回。 SEE: findChessboardCorners 注意:在 OpenCV 4.6.0 之后,对于偶数行计数,ChArUco 模式生成算法发生了不兼容的更改。 使用 cv::aruco::CharucoBoard::setLegacyPattern() 确保与使用 4.6.0 之前的 OpenCV 版本创建的模式兼容。 有关更多信息,请参阅问题:https://github.com/opencv/opencv/issues/23152
-
detectDiamonds
public void detectDiamonds(Mat image, java.util.List<Mat> diamondCorners, Mat diamondIds, java.util.List<Mat> markerCorners, Mat markerIds)
检测 ChArUco 菱形标记- 参数
image- 角点亚像素所需的输入图像。diamondCorners- 检测到的菱形角点的输出列表(每个菱形 4 个角点)。 顺序与标记角点中的顺序相同:左上、右上、右下和左下。 与 detectMarkers 返回的角点类似的格式(例如 std::vector<std::vector<cv::Point2f> > )。diamondIds- diamondCorners 中菱形的 IDs。 每个菱形的 ID 实际上是 Vec4i 类型,因此每个菱形都有 4 个 IDs,这些 IDs 是组成菱形的 Aruco 标记的 IDs。markerCorners- 来自 detectMarkers 函数的检测到的标记角点的列表。 如果 markerCorners 和 markerCorners 为空,则该函数检测 Aruco 标记和 IDs。markerIds- markerCorners 中标记 IDs 的列表。 如果 markerCorners 和 markerCorners 为空,则该函数检测 Aruco 标记和 IDs。 此函数从先前检测到的 ArUco 标记中检测菱形标记。 菱形在 diamondCorners 和 diamondIds 参数中返回。 如果提供了相机校准参数,则菱形搜索基于重投影。 否则,菱形搜索基于单应性。 单应性比重投影更快,但精度较低。
-
detectDiamonds
public void detectDiamonds(Mat image, java.util.List<Mat> diamondCorners, Mat diamondIds, java.util.List<Mat> markerCorners)
检测 ChArUco 菱形标记- 参数
image- 角点亚像素所需的输入图像。diamondCorners- 检测到的菱形角点的输出列表(每个菱形 4 个角点)。 顺序与标记角点中的顺序相同:左上、右上、右下和左下。 与 detectMarkers 返回的角点类似的格式(例如 std::vector<std::vector<cv::Point2f> > )。diamondIds- diamondCorners 中菱形的 IDs。 每个菱形的 ID 实际上是 Vec4i 类型,因此每个菱形都有 4 个 IDs,这些 IDs 是组成菱形的 Aruco 标记的 IDs。markerCorners- 来自 detectMarkers 函数的检测到的标记角点的列表。 如果 markerCorners 和 markerCorners 为空,则该函数检测 Aruco 标记和 IDs。 如果 markerCorners 和 markerCorners 为空,则该函数检测 Aruco 标记和 IDs。 此函数从先前检测到的 ArUco 标记中检测菱形标记。 菱形在 diamondCorners 和 diamondIds 参数中返回。 如果提供了相机校准参数,则菱形搜索基于重投影。 否则,菱形搜索基于单应性。 单应性比重投影更快,但精度较低。
-
detectDiamonds
public void detectDiamonds(Mat image, java.util.List<Mat> diamondCorners, Mat diamondIds)
检测 ChArUco 菱形标记- 参数
image- 角点亚像素所需的输入图像。diamondCorners- 检测到的菱形角点的输出列表(每个菱形 4 个角点)。 顺序与标记角点中的顺序相同:左上、右上、右下和左下。 与 detectMarkers 返回的角点类似的格式(例如 std::vector<std::vector<cv::Point2f> > )。diamondIds- diamondCorners 中菱形的 IDs。 每个菱形的 ID 实际上是 Vec4i 类型,因此每个菱形都有 4 个 IDs,这些 IDs 是组成菱形的 Aruco 标记的 IDs。 如果 markerCorners 和 markerCorners 为空,则该函数检测 Aruco 标记和 IDs。 如果 markerCorners 和 markerCorners 为空,则该函数检测 Aruco 标记和 IDs。 此函数从先前检测到的 ArUco 标记中检测菱形标记。 菱形在 diamondCorners 和 diamondIds 参数中返回。 如果提供了相机校准参数,则菱形搜索基于重投影。 否则,菱形搜索基于单应性。 单应性比重投影更快,但精度较低。
-
-