ARCore-增强图像提高了跟踪的稳定性

时间:2019-08-27 14:06:31

标签: arcore

根据官方文档Recognize and Augment Images

  

从ARCore 1.9开始,如果您的图像永远不会离开其位置   位置(例如,贴在墙上的海报)上,您可以附加一个   图像的全局锚点,以提高跟踪的稳定性。

,但未提供有关如何在代码中实际执行操作的进一步提示或说明。请指教。

2 个答案:

答案 0 :(得分:0)

他们可能的意思是创建一个普通锚点。

Trackable.createAnchor()

这将迫使ARCore将与该位置有关的更多数据保留在内存中。

答案 1 :(得分:-1)

您可以像这样创建锚定图像:

 // Create a new anchor for newly found images.
          if (!augmentedImageMap.containsKey(augmentedImage)) {
            AugmentedImageNode node = new AugmentedImageNode(this);
            node.setImage(augmentedImage);
            augmentedImageMap.put(augmentedImage, node);
            arFragment.getArSceneView().getScene().addChild(node);
          }
          break;

在此处查看完整的示例,其中包括上述场景摘录中的上述摘录:https://github.com/google-ar/sceneform-android-sdk/blob/master/samples/augmentedimage/app/src/main/java/com/google/ar/sceneform/samples/augmentedimage/AugmentedImageActivity.java

在ARCore代码实验室中详细介绍了如何将锚点托管为云锚点-请参见此处的链接:https://codelabs.developers.google.com/codelabs/arcore-cloud-anchors/#2

值得一看的是整个代码实验室,因为它简短明了,但是托管您创建的锚点的关键所在如下:

snackbarHelper.showMessage(getActivity(), "Now hosting anchor...");
cloudAnchorManager.hostCloudAnchor(
    getArSceneView().getSession(), anchor, this::onHostedAnchorAvailable);