问题标签 [fiducial-markers]
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++ - Apriltags3,当标记面向相机时,如何改善姿势模糊?
我有一个使用 Apriltags3 基准标记的 c++ 应用程序。
这些看起来既快速又稳定,除非标记平面向相机或其附近。
在这些情况下,姿势显着翻转,使姿势数据无法使用。据我了解,这种翻转是方形标记的一个已知问题,因为有两种可能的解决方案来估计姿势。
我该如何改善这种翻转?我努力了:
1 - 使用带有 IPPE_SQUARE 标志的 SolvePnp,我能够返回两个解决方案。
然后我选择最接近前一个姿势的姿势。这工作得很好,直到姿势的旋转通过零(正值到负值),然后旋转轴翻转。
2 - 存储前几个姿势并在 3d 点、2d 角和姿势上运行滑动窗口束调整。这似乎没有任何效果,我仍然看到同样的翻转。
3 - 使用以下内容:
获取相机相对于标记的姿势。我会假设具有正 X 值(在标记前面)的相机姿势是正确的,但是,当我使用该姿势时:
我看到与解决方案 1 相同的问题。
4 - 使用立体相机,在每帧中找到标记,对点进行三角测量,然后使用 Eigen SVD 函数找到这些点与从零标记长度创建的一组点之间的刚性变换。
这对翻译很有用,但旋转似乎翻转得更多!
有答案吗?我还能尝试什么?
注意:我用 Aruco 标记测试过,相同的相机和校准,我没有看到这个翻转问题,这似乎是 Apriltags3 的问题。
computer-vision - Aruco 是高精度姿势估计的好标记吗?如果是这样,我应该使用哪个字典?
我目前正在从事一个计算机视觉项目,我需要估计针的姿势以协助外科医生操作它。不用说我需要极高的精度。
我目前正在编写最后一个实习生留下的代码,他使用 aruco 基准标记进行姿势估计。
我已经阅读了一些论文,感觉 aruco 不够好,但似乎有各种各样的字典,它们的属性差异很大。
apriltag 、 s-TAG 或 ARToolKitPlus 是否更适合此应用程序?
python - Python OpenCV 侵蚀和扩张的工作方式与 C# 不同
我正在尝试将一些用于生成基准标记的代码从 C# 转换为 Python,但我陷入了侵蚀和扩张。OpenCV 的实现与 C# 实现的工作方式不同。
如果有人想重现该问题,这是完整的 C# 代码:https ://pastecode.io/s/2NbQPPOLCy
以下是标记生成器的 C# 代码的相关部分。它有自己的腐蚀和膨胀功能。
这就是扩张和侵蚀函数的调用方式:
下面是 C# 的 dilate 和 erode 函数的实现:
这是在 C# 中生成内核的方式:
这是 Python 的最小代码:
这是在膨胀和腐蚀之前生成的图像。在 C# 和 Python 中的腐蚀和膨胀之前,我设法获得了相同的图像。
我想知道如何在 Python 中实现与 C# 侵蚀和扩张后相同的图像
我还尝试将用于膨胀和腐蚀的 C# 代码转换为 python,但没有成功,因为 C# 实现使用指针,这在 Python 中不可用。
我从这个 repo 获得了 C# 代码:https ://github.com/bbenligiray/stag并对其进行了修改,使其全部在一个文件中
c++ - 尝试使用 USB 摄像头 Ubuntu 18.04 定位 Aruco Fiducials
我有一些我认为应该使用开放 CV 来检测一组基准的代码。出于某种原因,我无法让我的代码运行。它给出了错误“无法停止流:无效参数”
pattern-matching - 改进模式匹配或其他可以提高基准检测精度的方法
我想检测物体的位置旋转和缩放,以便可以适当放置夹臂来拾取物体。我使用了模板匹配,但没有达到我想要的精度。任何人都可以提出一种改进它的方法。或者有没有其他方法可以提供更好的精度?