问题标签 [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 投票
0 回答
397 浏览

c++ - ArUco 相机校准函数参数类型不匹配

我在运行以下基于 ArUco 官方calibrate_camera.cpp示例的代码时遇到问题。

问题是 Visual Studio 抱怨“没有重载函数的实例与参数列表匹配”,但我不明白为什么,因为参数的类型与官方示例中的参数类型相匹配。我收到以下消息:

no instance of overloaded function "cv::aruco::calibrateCameraAruco" matches the argument list. argument types are: (std::vector<std::vector<cv::Point2f, std::allocator<cv::Point2f>>, std::allocator<std::vector<cv::Point2f, std::allocator<cv::Point2f>>>>, std::vector<int, std::allocator<int>>, std::vector<int, std::allocator<int>>, cv::aruco::Board, cv::Size, cv::Mat, cv::Mat, std::vector<cv::Mat, std::allocator<cv::Mat>>, std::vector<cv::Mat, std::allocator<cv::Mat>>, int) 我需要一些帮助来弄清楚出了什么问题。谢谢你。

0 投票
1 回答
1376 浏览

c++ - 如何使用 OpenCV Viz 和 ARUCO 为增强现实应用程序转换 3D 模型

我正在使用OpenCV VizARUCO开发一个简单的基于标记的增强现实应用程序。我只想在标记上可视化一个 3D 对象(以 PLY 格式)。

我可以毫无问题地使用 ARUCO 运行标记检测和姿态估计(返回旋转和平移向量)。我可以在 Viz 窗口中可视化任何 3D 对象(PLY 格式)和相机帧。但是,我坚持使用 ARUCO 的旋转和平移矢量输出来定位标记上的 3D 模型。

我正在使用旋转和平移向量创建仿射变换并将其应用于 3D 模型。这是对的吗?我应该如何使用平移和旋转向量?

下面是我的代码片段。

0 投票
1 回答
3003 浏览

opencv - 有没有人使用统一的 aruco 进行标记跟踪?

目前我正在尝试将 OpenCV 的 aruco 库与 Unity 一起使用。

到目前为止,我一直在看;

https://github.com/enormand/aruco-unity - 我在这里努力使用 CMAKE。CMAKE 不断抛出错误;“项目文件可能无效”。似乎没有教程对此有所帮助。

https://translate.google.com/translate?hl=fr&sl=ja&tl=en&u=http://tips.hecomi.com/entry/2015/09/16/014119 - 但我不太确定创建NDK 并将其与 Unity 一起使用。

有人做过吗?有人对使用 CMAKE 有什么建议吗?

0 投票
0 回答
334 浏览

visual-studio - OPENCV ARUCO 示例调试visual studio 2013

我正在处理 opencv_contrib_master 文件夹“samples”中的detect_marker.cpp。该项目构建成功但是当我调试时,它没有打开相机并以代码0退出。

我应该如何处理这段代码?

在此处输入图像描述

0 投票
2 回答
2249 浏览

c++ - Aruco 函数估计PoseSingleMarkers() 错误

我在运行以下代码时遇到问题:

问题是当程序执行到estimatePoseSingleMarkers(corners, 20, cameraMatrix, distCoeffs, rvecs, tvecs);

我收到这样的错误消息: OpenCV Error: Assertion failed (0 <= i && i < (int)v.size()) in cv::_InputArray::getMat_, file C:\opencv-3.0\source\opencv\modules\core\src\matrix.cpp, line 1253

它是由错误的变量格式引起的吗?(cameraMartix & distCoeffs)

我需要一些帮助来弄清楚出了什么问题。谢谢你。

0 投票
0 回答
913 浏览

opencv - 确定机器人相对于另一个物体的旋转角度

我目前正在做一个项目,我需要确定一个上面有 ArUco 标记的机器人是否需要旋转到某个方向,以便它的前面指向一个特定的对象,为此它的中心点是已知的。所以基本上,我得到的是球的中心点和标记角的 4 个点。

我包括一个我所说的图像的例子。注意标记纸板上绘制的小箭头。它显示了机器人的正面。

最后:我有一个捕捉帧的相机,程序打印出旋转矢量。出于某种原因,即使我故意将机器人留在同一位置,每一帧的值都不同。谁能解释一下这可能是什么?

非常感谢。

示例图像

编辑:我遇到了旋转向量波动排序的问题;现在我只需要弄清楚如何使用它的输出来获取机器人的方向,即相对于一个球(我有它的中心点),这显然是通过 X 轴完成的。

我正在添加另一个图像,其中 x 轴显示为红色,y 轴显示为蓝色,z 轴显示为绿色。向量的类型为 cv::Vec3d。

首先,一些代码:

图像显示了我的意思:

示例旋转

0 投票
0 回答
338 浏览

c++ - 将 ArUco 添加到 Visual Studios 社区 2017

我在将 aruco 库实施到视觉工作室时遇到问题。我已经添加了 OpenCV 3.2.0 没有任何问题。我已经尝试下载最新的 aruco 包(2.0.19)和你可以通过 Visual Studio 上的包管理器控制台安装的 aruco 包。包管理器下载aruco 1.2.4版本和opencv 2.4.8

我试图将它包含在我的代码中,但没有任何运气有人可以帮助我吗?

0 投票
0 回答
499 浏览

c++ - Opencv Aruco 板检测在 detectMarkers() 上崩溃

我正在尝试校准我的相机以将其用于使用 aruco 和 opencv 进行基准跟踪。为此,我使用了 Aruco 附带的示例文件。

我刚刚复制粘贴的示例文件

现在程序启动并且显示相机输出的窗口打开,但是一旦程序开始检测到某些东西,它就会崩溃。
我想我把它缩小到这段代码,但我不知道如何解决这个错误,调试器也没有真正告诉我任何有用的东西:

错误显示如下:未处理的异常在 0x000007FEE653D3D0 (opencv_core320d.dll) 在位置 0x0000000000000008 读取时访问冲突

(对不起,错误是德语,我试图翻译它)

我在 Win 7 上使用 Visual Studio 2012
我在这上面浪费了几个小时,我真的没有想法

0 投票
1 回答
562 浏览

opencv3.0 - opecv Aruco 标记姿势估计

我正在尝试使用 aruco 标记并估计单个标记的姿势。有时我会得到非常大的值

有没有人遇到过这个问题?

0 投票
1 回答
1679 浏览

python-2.7 - 如何获得 Aruco Markers 的轴-天使在世界坐标中的差异?

我是opencv和Aruco的新手。我试图找出两个不同 Aruco 标记的轴角差异。例如,现实世界中标记的两个 (1, 0, 0) 向量之间的角度差。据我了解,变换按以下顺序进行:局部坐标-> 相机坐标-> 世界坐标。然后我得到两个 aruco 标记的角度差,因为它们现在都在同一个世界坐标中。有人可以解释这个过程是如何完成的吗?或者有没有更好的方法来找出角度差异?我正在用 python 和 opencv 编码

已知:

  1. 来自 aruco 模块中的 estimatePoseSingleMarkers() 函数的平移和旋转向量 (1x3)。(可以使用 Rodrigues() 将旋转和平移向量转换为矩阵(3x3))
  2. 来自相机校准的相机矩阵(3x3)和 dist_coefs 矩阵(1x5)。
  3. 使用 6x6_250 aruco 标记

更新:

  1. 世界坐标=相机坐标
  2. 下面是绘制 aruco 的 XYZ 组件的函数。看起来原点或相机是 (0, 0, 0)。将 aruco 标记的平移和旋转矩阵应用于原点的 x、y、z 分量,得到 aruco 标记的 x、y、z 分量。那正确吗?

/** */

}