opencv - 使用 OpenCV 的视觉里程计(又名 self 运动估计)

标签 opencv augmented-reality motion-detection

我打算实现一个具有增强现实功能的应用程序。对于其中一项功能,我需要 self 运动估计。只有相机在移动,在有固定物体的空间中(没有任何东西或只有小部件会移动,因此它们可能会被忽略)。

所以我搜索和阅读了很多东西并偶然发现了OpenCV .维基百科明确指出 it could be used for egomotion .但是我找不到任何关于它的文档。

  1. 我是否需要使用 OpenCV 的对象检测方法自行实现 self 运动算法? (我认为这会非常复杂,因为物体会根据它们与相机的距离以不同的速度移动。而且我还需要考虑旋转。)
  2. 如果是这样,我应该从哪里开始? Kanade–Lucas–Tomasi feature tracker with support for scaling and rotation 是否有好的代码示例?

P.S.:我也知道像 vuforia 这样的基于标记的框架。 , 但我想避免使用标记,因为它限制了可能的视点。

2013-01-08 更新:我了解到 self 运动估计更广为人知的名称是视觉里程计。所以我更新了标题。

最佳答案

可以找到基于光流的单目视觉里程计很好的实现here .

它是使用 emgucv(C# opencv 包装器)编码的,但您会发现将其转换回纯 opencv 没有任何问题。

关于opencv - 使用 OpenCV 的视觉里程计(又名 self 运动估计),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14200057/

相关文章:

python - 如何使用 OpenCV-Python 检测照片上的黑色形状轮廓

python - 为什么 kinect v1 保存的深度图像太黑

swift - RealityKit – 在 3d 空间中的两点之间创建线

ios - 我如何检测有人在摇动 iPhone?

android - 查看只注册 MotionEvent.ACTION_DOWN

java - 如何检测 MotionEvent.ACTION_MOVE 何时完成

c++ - 使用 Cmake 和 MinGW 编译 OpenCV 2.4.13

java - 如何删除此异常 "Exception in thread "main"java.lang.UnsatisfiedLinkError : no jniopencv_objdetect in java. library.path"

swift - 是否可以跟踪面部并在 RealityKit ARView 中渲染它?

swift - ARKit – 球没有穿过 "SCNTorus"孔