我打算实现一个具有增强现实功能的应用程序。对于其中一项功能,我需要 self 运动估计。只有相机在移动,在有固定物体的空间中(没有任何东西或只有小部件会移动,因此它们可能会被忽略)。
所以我搜索和阅读了很多东西并偶然发现了OpenCV .维基百科明确指出 it could be used for egomotion .但是我找不到任何关于它的文档。
- 我是否需要使用 OpenCV 的对象检测方法自行实现 self 运动算法? (我认为这会非常复杂,因为物体会根据它们与相机的距离以不同的速度移动。而且我还需要考虑旋转。)
- 如果是这样,我应该从哪里开始? 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/