java ar教程_Java支持库

这个页面描述了如何使用Java中的Tango支持库的特性。Tango支持库Java参考页面更详细地描述了可用的功能。

安装指示

下载

如果您按照我们的指令开始使用Tango Java API,那么您的机器上已经有了Java支持库。

按照说明将Java的Tango支持库添加到您的项目中。确保将 support-base 作为一个依赖项。

如果您使用自己的构建系统,请下载并在您的项目中包含Java支持库包。

支持库教程

支持库包含一些函数,可以帮助您管理和使用Tango API中的数据。该库的当前特性包括对深度数据的平面拟合。

初始化支持库

在使用支持库之前,必须调用 TangoSupport.initialize() 进行初始化。

深度感知平面拟合

增强现实(AR)应用程序的一个常见用例是将一个虚拟对象放在真实的世界表面,如墙壁、地板、桌面等。这是一种深度知觉和运动追踪的结合。TangoSupport.fitPlaneModelNearClick 帮助函数将一个平面模型与一个指定的屏幕位置附近的深度数据相匹配,并返回平面方程和与相机射线的交点。

Initialize the Support Library:

TangoSupport.initialize()

这个例子适用于位于屏幕中心的深度数据:

IntersectionPointPlaneModelPair pair =

TangoSupport.fitPlaneModelNearClick(pointCloud, pointCloudTranslation,

pointCloudOrientation, 0.5f, 0.5f, displayRotation,

colorCameraTranslation, colorCameraOrientation);

pointCloudTranslation 和 pointCloudOrientation 输入是在选择uv坐标时从所期望的输出帧转换到彩色摄像机帧的换。pointCloudTranslation 和 pointCloudOrientation 输入是在获取点云时从期望的输出帧到点云的转换。返回的 IntersectionPlaneModel 使用了这个期望的坐标系统。GitHub上的 PlaneFittingExample 演示了如何生成输入,并将输出转换为世界坐标。

有关提供深度数据、特性和参数的详细信息,请参阅示例和参考文档。

深度数据插值

在传感器的深度数据中有时会有一些间隙。Java的支持库提供了一种插值算法,当在图像的某个特定点查询深度时,可以尝试填补这些空白。

最近邻插值-单点

这个例子试图在相机图像的中心附近找到一个深度读数:

float u = 0.5f;

float v = 0.5f;

float[] colorCameraPoint;

try {

colorCameraPoint =

TangoSupport.getDepthAtPointNearestNeighbor(pointCloud, pointCloudTranslation,

pointCloudOrientation, u, v,

displayRotation, colorCameraTranslation,

colorCameraOrientation);

} catch (TangoInvalidException exception) {

Log.e(TAG, "Error finding depth at the point.", exception);

}

if (colorCameraPoint == null) {

Log.w(TAG, "No point cloud point is sufficiently close.");

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值