【问题标题】:Get ARFrame from ARKit scene从 ARKit 场景中获取 ARFrame
【发布时间】:2017-12-06 12:04:36
【问题描述】:

我是 iPhone 应用程序开发的新手(但在其他语言方面经验丰富),我正在制作一个 ARKit 应用程序,我需要在其中跟踪图像的位置并在该图像周围显示一个矩形。

我可以在 C++ 中使用 OpenCV 来完成它,并制作适当的“桥接”类以便能够从 swift 调用此代码。现在,我需要从 ARKit 中获取图像并将它们传递给这个函数。

如何订阅处理 ARKit 场景中的ARFrames 的函数?我发现我可以从sceneView.session.currentFrame 获得一些ARFrame,但我没有找到如何创建一个将为每一帧调用的函数(或者每次我的函数结束并准备接收下一帧时)。

另外,我发现了Vision Framework,但它似乎只能跟踪用户点击的元素。这是正确的,还是有预定义的功能组合可以用于此目的?

【问题讨论】:

  • 看看session(:didUpdate:) 来自ARSessionDelegate 协议。我相信它满足您订阅处理来自 ARKit 场景的 ARFrame 的函数的要求
  • @leandrodemarco 成功了,谢谢。您可以将其发布为未来 Google 员工的答案。

标签: swift xcode arkit


【解决方案1】:

您可以使用来自ARSessionDelegate 协议的session(:didUpdate:) 方法获取相机捕获的每个帧。请注意,即使您不使用提供的 ARFrame,此方法也可能有用;例如,如果有任何添加的虚拟内容当前可见,我用它来“轮询”。

关于跟踪图像问题,我相信您可以创建一个ARAnchorSCNNode 并将其放置在图像上,ARKit 会跟踪它

【讨论】:

    猜你喜欢
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 2018-08-26
    • 1970-01-01
    • 2016-05-15
    • 2018-12-06
    • 2019-06-19
    相关资源
    最近更新 更多