我是 Tango 的新手,我想扫描一个房间以
- 检测墙壁并将它们涂成红色
- 检测地板和颜色为蓝色
我查看了可以放置猫的 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/