android - 如何在 Google Tango 中检测地板和其他表面?

标签 android unity-game-engine google-project-tango

我是 Tango 的新手,我想扫描一个房间以

  1. 检测墙壁并将它们涂成红色
  2. 检测地板和颜色为蓝色

我查看了可以放置猫的 Tango 教程。看起来有一个获取触摸位置的 FindPlane 函数。
这是我可以用来区分墙壁和地板的东西吗?

最佳答案

你找到Floor Finding Example了吗? .
此外,Java API因为 Caporales 具有更好的 2D 平面图提取。

恐怕我还没有看到任何关于检测墙的现有信息。一旦您可靠地获得了地板,就可以通过确保该平面垂直于地板来识别墙壁。

编辑:对评论的回应。

所以在快速浏览之后,我想我会开始采用 TangoPointCloud._FindFloorWithDepth() 并修改它以寻找最高深度点而不是最低深度点(给我们天花板!)。< br/> 现在你知道画墙平面的高度了。听起来您很高兴找到所有垂直于地板的平面。

我们应该从最简单的情况开始,看看没有切口(门窗等)且没有障碍物的平坦矩形墙。我们可以采用所有垂直于地板/天花板的平面,并只保留那些带有 transform.forward 指向玩家的平面。遍历这些并计算它们之间的平均距离,从而为我们提供放置墙的位置。此外,取从右侧和左侧看到的最大值,得到墙的长度。
所以我们从 Cieling-Floor 中获取高度,从 maxRight-maxLeft 中获取宽度,从平面中获取平均位置。

关于android - 如何在 Google Tango 中检测地板和其他表面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42234011/

相关文章:

android - 如何在webview中获取缩放视口(viewport)的宽度和高度?

c# - 保护 C# 和 PHP 之间的通信(不是加密数据)

android - 无法在 Unity3D 中构建 Android APK

java - 谷歌探戈Java API : Scene update with Rajawali3D

android - 无法连接到Tango - 倩如

android - 适用于 Android 的人脸识别器 opencv 类

android - Android 应用程序中的 java.lang.VerifyError

android - Flutter android 如何获取可读的 firebase crashlytics 报告?

c# - 一旦 ARCore 在 Unity 应用程序中加载,文本就会消失

android - Project tango 增强现实中的绘图路径