问题标签 [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.
c++ - 我可以从旋转/平移向量创建变换矩阵吗?
我正在尝试歪斜具有已知大小元素的图像。鉴于此图像:
我可以使用aruco:: estimatePoseBoard
which 返回旋转和平移向量。有没有办法使用该信息来校正与标记板在同一平面上的所有内容?(不幸的是,我的线性代数充其量只是初级的。)
澄清
我知道如何歪斜标记板。我想要做的是将其他东西(在这种情况下,云形物体)与标记板放在同一平面上。我正在尝试确定这是否可行,如果可以,该怎么做。我已经可以在我想歪斜的对象周围放置四个标记,并使用检测到的角作为输入getPerspectiveTransform
以及它们之间的已知距离。但是对于我们的实际应用程序,用户可能很难准确地放置标记。如果他们可以在框架中放置一个标记板并让软件对其他对象进行纠偏,那就容易多了。
c++ - OpenCV 3 和 ArUco lib - 序列化字典
作为标题,我需要序列化以使用 OpenCV 3.x(版本 3 严格)从 arUco 库中归档自定义创建的字典。
第二步是再次从文件中加载字典。
我在网上找不到示例或取得了部分成功。
任何帮助表示赞赏!
opencv - cmake 错误 - 找不到 opencv 库或头文件
我已经设置了 opencv 环境变量并更新了路径,但是当我尝试在 windows 上使用 cmake gui 制作 opencv aruco 库时仍然出现错误 - 错误说
“需要 OpenCV,但找不到一些头文件或库。请使用 OpenCV_DIR 环境变量指定 OpenCV 目录”
我查看了错误来自的 FindOpenCV.cmake 文件,但我不知道是什么部分导致了错误,并且想知道是否有其他人遇到过类似的问题或知道如何解决它,我将不胜感激!
opencv - Aruco 标记没有旋转和平移
我刚刚构建了 aruco 1.3.0,并且 aruco_test 完美运行。
到目前为止,我尝试使用 Opencv + kinect v2 获取标记。检测到标记,但没有旋转和平移。有人遇到过类似的问题吗?
结果看起来像
opencv - Aruco 教程代码无法编译
您好,我在使用 aruco 时遇到错误。我只是想从教程中获取一个示例。我按照教程做了所有事情,但我得到了:
我的代码是:
我知道包含太多,代码需要一些工作,但我只需要编译它,我不知道那里发生了什么。功能变了吗?
opencv - 如何在 OpenCV 中确定世界空间中的相机旋转(不是 Charuco 板的方向)?
在 OpenCV 中,我使用的是 Charuco 板,已校准相机,并使用 SolvePnP 获取 rvec 和 tvec。(类似于示例代码)。我正在使用一个固定板,在围绕板旋转的圆形钻机上带有一个摄像头。我是一个菜鸟,所以如果这是我想念的简单的东西,请多多包涵。
我知道我可以使用 Rodrigues() 从 rvec 获取板方向的 3x3 旋转矩阵,并且我可以使用 -Rt() * tvec(在 c++ 中)将 tvec 值转换为世界坐标。
然而,据我所知,这个 3x3 旋转 R 给出了电路板相对于相机的方向,所以它不是很需要。我想要相机本身的旋转,它从 R 偏移(我认为)tvec 和相机空间中 z 轴之间的角度。(因为相机并不总是指向棋盘原点,而是总是指向相机空间中的 z 轴)。这个对吗?
如何找到额外的旋转偏移并将其转换为 3x3 旋转矩阵,我可以将其与 R 结合以获得实际的相机方向?
谢谢!
c++ - 在 c++ 中使用 aruco 编译 opencv2 时出错
我已经编写了一个简单的代码,用于在 aruco 库中创建制造商,它是
当我尝试使用命令编译和运行它时
g++ -I/usr/local/include/opencv -I/usr/include/opencv2 -L/usr/local/lib/ -g -o binary create_marker.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_stitching -lopencv_aruco
正如本网站的解决方案之一给出的那样,它给出了这个错误
g++ -I/usr/local/include/opencv -I/usr/include/opencv2 -L/usr/local/lib/ -g -o binary create_marker.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_stitching -lopencv_aruco /usr/bin/ld: 找不到 -lopencv_aruco collect2: 错误: ld 返回 1 退出状态
有人可以指出我做错了什么,因为我是opencv的新手谢谢!
python - opencv2 Aruco 库模块不适用于 python
我已经编译了 aruco 库,如此处所述的 aurco 库的github 链接
我已经检查它是否已成功编译,因为我可以在 python 中导入它而不会出现任何错误,并检查我是否运行了 example.py 脚本,它也可以正常工作,但是当我编写这段代码时
它抛出错误
回溯(最后一次调用):文件“drawmarker.py”,第 7 行,在 Dictionary = aruco.getPredefinedDictionary(aruco.PREDEFINED_DICTIONARY_NAME(DICT_5X5_250=6)) AttributeError: 'module' object has no attribute 'getPredefinedDictionary'
有人可以让我知道我在做什么错吗,这个模块不是在 python 版本的 aruco 中导入的吗?