ArUco:是一个根据预设黑白Markers来估计相机位姿的开源库。该库由C++编写,运行速度很快。已被应用在了机器人导航、增强现实和目标姿态估计中。
DetectorParameters :检测标记程序的参数
属性:
CornerRefinementMethod:角落细化方法(CORNER_REFINE_NONE:没有细化,CORNER_REFINE_SUBPIX:亚像素细分,CORNER_REFINE_CONTOUR :使用轮廓点)
CornerRefinementWinSize:角落细化过程的窗口大小(像素,默认值为5)
PredefinedDictionaryName:字典 ,DICT_6X6_250 是一个预定义的字典,它包含6x6位的marker,总共有250个marker,字典越小,内部距离就越大,容错性越强
基本标志检测
public static void DetectMarkers(
InputArray image,
Dictionary dictionary,
out Point2f[][] corners,
out int[] ids,
DetectorParameters parameters,
out Point2f[][] rejectedImgPoints
)
Parameters:
image:输入图像
dictionary:只是将搜索的标记类型
corners:检测到的标记角向量。每个标记都有四个角。对于检测到的N个标记,该阵列的维数为Nx4。角的顺序是从左上角顺时针的。
ids:检测到的标记的标识符向量。标识符类型为int。对于检测到的N个标记,标识符的大小也是N。标

本文介绍了如何利用OpenCVSharp库中的Aruco模块进行标记检测。ArUco是一个快速的黑白Marker位姿估计库,适用于机器人导航、增强现实等领域。通过设置DetectorParameters,可以调整检测过程中的参数,如角落细化方法和字典选择。在检测到标记后,可以通过Cv2.GetPerspectiveTransform和Cv2.WarpPerspective进行投影变换和图像扭曲,实现标记的精确识别与处理。
最低0.47元/天 解锁文章
1362

被折叠的 条评论
为什么被折叠?



