如何在 Google Tango 中统一使用鱼眼相机?

Posted

技术标签:

【中文标题】如何在 Google Tango 中统一使用鱼眼相机?【英文标题】:How to use fisheye camera in unity in Google Tango? 【发布时间】:2017-03-28 12:31:53 【问题描述】:

我想使用 Google Tango 的鱼眼相机拍摄环境照片,然后对其进行分析。但是,如何在 Unity 环境中实现这一点?我应该继续使用 Tango AR 相机吗?

谢谢。

【问题讨论】:

【参考方案1】:

目前 Unity SDK 不直接支持,只能使用 C 或 Java 的鱼眼图像。

【讨论】:

【参考方案2】:

我用开发平板电脑做了一些实验,它对我来说效果很好。你只需要根据你在做什么深入挖掘。在 Unity SDK 的几个地方有 TANGO_CAMERA_COLOR 硬编码,寻找它并尝试用 TANGO_CAMERA_FISHEYE 替换它。一段时间后,我让鱼眼为 AR 叠加层工作。问题是,如果你在做 AR,你会错过对物理相机的准确数学描述,并且很难设置 Unity cam 以精确匹配鱼眼 fov 和失真。如果你弄清楚了,请告诉我:)

【讨论】:

【参考方案3】:

您可以在任何平台上创建鱼眼,方法是使用 5 个指向前、左、右、上和下的摄像机,以 90 度 FOV 渲染到纹理,然后将这些纹理组合成类似于鱼眼扭曲的扭曲网格,形成飞机。 Paul Bourke 对这个主题进行了相当多的研究,他为 Unity 制作的免费资产正是这样做的。

这是他的包中(修改后的)演示场景的屏幕截图,显示了如何设置网格以创建鱼眼效果。

不过,对图像进行分析是另一回事,通过进行数值球面投影而不是放在组装的鱼眼结果上,在单个 5 快照上进行分析会很方便。

【讨论】:

以上是关于如何在 Google Tango 中统一使用鱼眼相机?的主要内容,如果未能解决你的问题,请参考以下文章

Google Tango Java SDK开发:Motion Tracking 运动追踪

google tango / opencv android 相机应用程序崩溃/挂起

Google Tango 之后的区域学习

Google Tango SDK下载

如何使用opencv在鱼眼校正图像中绘制内接矩形?

Google Project Tango NDK 未定义函数参考