检测墙壁或平面(使用 OpenCV)?
Posted
技术标签:
【中文标题】检测墙壁或平面(使用 OpenCV)?【英文标题】:Detect walls or planar surfaces (with OpenCV)? 【发布时间】:2015-11-24 00:32:04 【问题描述】:我正在开发一个简单的应用程序,它可以分析来自 ios 摄像头的视频流、检测墙壁或平面并在其上投射图像。就我而言,我不能使用标记。我应该使用什么 OpenCV 算法?或者也许有另一个图书馆可以完成这项工作?
我发现 PTAM (https://www.youtube.com/watch?v=pBI5HwitBX4) 正在做我需要的事情,但我还找不到工作代码,而且所有资源看起来都死了。我现在花了一个月的时间开始碰壁,如果有人能指出我正确的方向,我会很高兴!
【问题讨论】:
我认为您提供的 PTAM 链接没有检测到“平面”表面。事实上,恰恰相反,因为您可以看到在像桌面这样的平原上没有检测到点......它们正在检测角落/变化等......而不是墙壁或平面...... 他们正在使用 FORCE 来移动 Vader...所以当然没有可用的文档...:P 感谢您的评论@lukya。是的,我喜欢 PTAM 的地方在于它可以检测角点,将其转换为 3D 空间并检测这些角点/特征所在的“平面表面”。这正是我正在寻找的功能。我还发现了基本上在做类似事情的视觉 SLAM,但该公司(13thlab.com)被 Facebook/Oculus 收购,一切都被“分类”了。呵呵.. 【参考方案1】:您可以查看 opencv 示例。
https://docs.opencv.org/4.5.2/dd/dd4/tutorial_detection_of_planar_objects.html
通过匹配的特征点找到平面及其对应的单应矩阵。
【讨论】:
以上是关于检测墙壁或平面(使用 OpenCV)?的主要内容,如果未能解决你的问题,请参考以下文章