问题标签 [aruco]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1227 浏览

c++ - OpenCV 错误:不支持的格式或格式组合(Point3f 类型点的向量的向量)

我正在尝试在Mac(最终是Microsoft Kinect)上校准我的网络摄像头以检测Aruco 标记。我正在正确运行所有函数,但校准矩阵不正确,因为该cameraCalibration()函数未按预期工作并在运行 opencv 函数时返回错误calibrateCamera()

错误:OpenCV 错误:collectCalibrationData 中不支持的格式或格式组合(objectPoints 应包含 Point3f 类型的点向量的向量)

我的代码:

关于我做错了什么的任何想法?谢谢。

0 投票
0 回答
792 浏览

opencv - 使用“cv::aruco::calibrateCameraCharuco”估计的系数的失真模型是什么?

我正在尝试使用 ChArUco 板校准我的智能手机(AE/AF 锁定)。为此,我使用“cv::aruco::calibrateCameraCharuco”并实现了一个引用此处链接的管道(管道的输入:使用智能手机和输出捕获的 ChArUco 板的照片: 4、5、8 或 12 个元素的相机矩阵、3x3 和失真系数 (k1,k2,p1,p2[,k3[,k4,k5,k6],[s1,s2,s3,s4]])。我对相机矩阵中的元素有一个相当好的想法,但我对失真系数感到困惑。有人可以向我指出一个资源,我可以在其中阅读“cv::aruco::calibrateCameraCharuco”正在使用的失真模型吗?具体来说,我试图理解,如果我估计上述所有 12 个元素,这在数学上意味着什么?我确实在这里找到了一些细节,但是这个链接只包含一个非常简单的失真模型的信息。提前致谢。

编辑:我在这里找到了一个 解释相机失真模型的相关链接。基本上,k1、k2、k3、k4、k5、k6是径向畸变系数;p1 和 p2 是切向畸变系数;s1、s2、s3、s4为薄棱镜畸变系数。

0 投票
1 回答
1038 浏览

python - 使用 360 度摄像头检测 Aruco 标记?

最近我一直在玩 360 fly 高清摄像头,想知道是否可以实时检测到 Aruco Marker。我首先想到的是先将鱼眼图像转换为透视图像,然后对透视图像进行检测(我会尝试一下,稍后会在这里更新我的结果)。

  1. 将鱼眼图像转换为全景、球面或透视投影
  2. Hugin HowTo:将 360 度图像转换为裁剪的平面全景图像

我不是这个领域的专家。有没有人这样做过?这是否可以通过不同地校准相机来实现,例如校正相机矩阵和畸变系数矩阵?

如果我走错了方向,请告诉我。

0 投票
1 回答
5212 浏览

python - cv2.aruco.detectMarkers 不检测 python 中的标记

我的相机校准和失真矩阵,从aruco_calibration_fromimages.exe获得:

图片,我尝试检测的地方:

在此处输入图像描述

aruco_simple.exe成功

在此处输入图像描述

但是python代码找不到任何东西:

res[0] 出于某种原因是空数组。为什么python版本失败?谢谢!

0 投票
0 回答
1730 浏览

c++ - 图像平面中的 ArUco 标记坐标

使用 OpenCV v3.1,我检测到一个 ArUco 标记,并使用

aruco::estimatePoseSingleMarkers(corners, markerLength, camMatrix, distCoeffs, rvecs,tvecs);

我可以获得从标记坐标系到相机坐标系的所述标记的旋转和平移矢量。

但是,我只需要图像平面中标记的 xy 坐标(以像素为单位)。我该怎么办?

我发现有点相关,但这又是关于相机坐标系的。

0 投票
2 回答
1502 浏览

python - OpenCV aruco 在 Python 中不起作用(Windows)

我一直在使用 aruco 和 c++ 做一些工作,但我现在必须切换到 python。

(我使用的是 Windows 8、64 位操作系统、基于 x64 的处理器)

我安装了 Python 和我相信我需要以下方式的库:

当我运行 Visual Studio 时,我能够导入 numpy 和 cv2,只是当我尝试导入 aruco 或导入 cv2.aruco 时,我遇到了问题......

老实说,我刚开始尝试使用 python,我必须说我真的不知道自己在做什么。我对这类东西没有太多经验(我是一名机械工程师学生,我正在尝试将计算机视觉用于一些东西,所以我几乎在网上学到了所有东西)。我设法用 c++ 做我想做的事,但与我一起工作的人想用 python 做一切(他们有他们的理由)。

另外(再一次,我只是在这里尽我所能......)当我在 cmd 窗口上运行 python 时,我能够导入 numpy、scipy、cv2 和 cv2.aruco。

我做错了什么还是需要其他东西才能将 aruco 与 python 一起使用?

任何帮助表示赞赏,我真的快用谷歌搜索了哈哈

0 投票
0 回答
84 浏览

xcode - 如何让 OpenCV 和 ArUco 与 Xcode 一起工作

如何将 ArUco 添加到我的 XCode 项目中?

我安装了 OpenCV 框架版本 3.3.0 和 3.4.0 但我没有找到 ArUco 的文件

0 投票
1 回答
65 浏览

c++ - 在变量中插入值

我有一个非常简单(也许很愚蠢)的问题。我有以下代码来使用 aruco 库检测 aruco 标记:

Markers这段代码给了我一个由不同检测标记组成的向量 ( )。如果我打印Markers出来,我会得到以下信息:

但现在我想获取标记的像素值。使用Markers[0].id, Markers[0].TvecMarkers[0].Rvec我可以提取 id、平移和旋转矩阵,但我找不到获取像素值的方法。有人可以帮我弄这个吗?

0 投票
1 回答
223 浏览

c++ - 在 Xcode 中使用 aruco opencv 模块生成带有未定义符号的 xcode 错误

opencv2.framework为了使用 aruco 库,我使用 OpenCV 3.4 和 opencv_contrib 构建。我正在将此框架导入 Xcode,并且能够导入和使用标准 OpenCV 模块而不会出现编译错误。

我可以#import <aruco/aruco.h>没有编译错误。但是,一旦我尝试使用 aruco 中的任何类,就会出现编译错误。在这种情况下:

aruco::MarkerDetector::~MarkerDetector() 的未定义符号

0 投票
1 回答
2043 浏览

opencv - 如何提高aruco检测精度?

我用同一个相机从两个位置拍摄了 aruco board 上的一个物体。我在工作前没有失真的图像和校准过的相机。我在一个镜头上取一个红点并计算3d线,它对应于这个点3D空间,然后将其投影到另一个图像:

p1

p2

问题是另一个图像上的线和点之间存在一些差异(~5px-15px)。我还观察到 opengl 生成的图像存在同样的问题,所以这似乎不是我的相机的问题。我使用这段代码来检测板的位置:

是否有可能以某种方式增加耐受性?我还发现了具有某种容差参数的函数:

但我不知道如何将此参数传递给 MSPoseTracker.estimatePose。如果我相信至少理论上可以做到这一点,我该如何提高精度?