带有OpenCV的视觉里程表(又名自我运动估计) [英] Visual Odometry (aka. Egomotion estimation) with OpenCV

查看:99
本文介绍了带有OpenCV的视觉里程表(又名自我运动估计)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我打算用增强现实功能实现一个应用程序.对于其中一项功能,我需要自我估计.在固定物体的空间中,只有相机在移动(什么也不会移动,只有很小的一部分会移动,因此它们可能会被忽略).

I'm planning to implement an application with augmented reality features. For one of the features I need an egomotion estimation. Only the camera is moving, in a space with fixed objects (nothing or only small parts will be moving, so that they might be ignored).

因此,我进行了大量搜索和阅读,偶然发现了 OpenCV .维基百科明确声明它可以用于自我情感.但是我找不到关于它的任何文档.

So I searched and read a lot and stumbled upon OpenCV. Wikipedia explicitly states that it could be used for egomotion. But I cannot find any documentation about it.

  1. 我需要使用OpenCV的对象检测方法自己实现自我运动算法吗? (我认为这会非常复杂,因为物体到相机的距离会以不同的速度移动.而且我还需要考虑旋转.)
  2. 如果是这样,我应该从哪里开始? Kanade–Lucas–Tomasi功能跟踪器具有一个很好的代码示例是否支持缩放和旋转?

PS:我也了解基于标记的框架,例如 vuforia ,但是使用标记是我想防止的事情,因为它限制了可能的观点.

P.S.: I also know about marker based frameworks like vuforia, but using a marker is something I would like to prevent, as it restricts the possible view points.

更新2013年1月8日:我了解到自我感应估计更被称为视觉测距法.所以我更新了标题.

推荐答案

您可以找到基于光流的单眼视觉测距的良好实现方式

You can find a good implementation of monocular visual odometry based on optical flow here.

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

It's coded using emgucv (C# opencv wrapper) but you will find no issues on convert it back to pure opencv.

这篇关于带有OpenCV的视觉里程表(又名自我运动估计)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆