为了账号安全,请及时绑定邮箱和手机立即绑定

ARCore – 来自 arFragment 的图像与片段的显示不同

ARCore – 来自 arFragment 的图像与片段的显示不同

杨__羊羊 2021-11-24 18:50:53
我正在我的一个项目中使用 ARCore。我arFragment在视图中使用 。从那以后,我用arFragment.getArSceneView().getArFrame().acquireCameraImage()它返回一个image. 此图像与片段显示中的预览不同。我认为我通过 AR 片段看到的是通过 捕获的内容acquireCameraImage,但看起来获取的图像比片段显示的部分更多,而且方向是横向的(片段显示中的纵向视图)。我需要一个与片段显示中的预览相同的图像对象。有没有办法得到它?
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

正如您所写的 - 公共方法.acquireCameraImage()从与当前帧对应的相机获取图像:

public Image acquireCameraImage()

为了获得与片段显示中的预览相同的图像对象,只需使用:

public Frame update()

Google ARCore 开发人员文档

update() 方法更新ARCore系统的状态。这包括:接收新的相机帧、更新设备的位置、更新跟踪锚点的位置、更新检测到的平面等。此调用可能会导致屏幕外 OpenGL 活动。因此,为避免不必要的帧缓冲区刷新和重新加载,不应在渲染帧或屏幕外缓冲区的中间进行此调用。此调用可能会更新所有创建的锚点和检测到的平面的姿态。可通过 访问更新的对象集getUpdatedTrackables(Class)。阻塞模式下的此调用(请参阅 Config.UpdateMode)将等到新的相机图像可用,或直到达到内置超时(当前66ms)。如果相机图像没有到达内置超时,则update()将返回最近的 Frame 对象。对于某些应用程序,了解是否实际获得了新帧可能很重要(例如,如果相机没有生成新帧,则避免重绘)。为此,请将通过 获得的当前帧的时间戳getTimestamp()与之前记录的帧时间戳进行比较。如果它们不同,则这是一个新框架。


查看完整回答
反对 回复 2021-11-24
  • 1 回答
  • 0 关注
  • 221 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信