如何使用AR核心检测多张图像

时间:2019-04-03 08:48:33

标签: java arrays augmented-reality android-augmented-reality

我正在尝试使用

使用AR核心检测多个增强图像

https://developers.google.com/ar/develop/java/augmented-images/guide

和其他在线教程。目前,我已经安装了数据库并加载了图像。但是

Collection<AugmentedImage> augmentedImages = frame.getUpdatedTrackables(AugmentedImage.class);

似乎没有捕获并匹配数据库中图像的特征点。

您能告诉我我需要做什么吗?

我已经从数据库中设置并加载了多个图像。该应用程序以前只能检测1张图像。但是,调整我的代码以检测多张图像后,它无法正常工作。

但是尝试研究和调试,但仍然无法解决。

private void onUpdateFrame(FrameTime frameTime)
{
    Frame frame = arFragment.getArSceneView().getArFrame();

    Collection<AugmentedImage> augmentedImages = frame.getUpdatedTrackables(AugmentedImage.class);

    for (AugmentedImage augmentedImage : augmentedImages)
    {
        int i =augmentedImages.size();
        Log.d("NoImage",""+i);
        if (augmentedImage.getTrackingState() == TrackingState.TRACKING)
        {
            if (augmentedImage.getName().contains("img1") && !modelAdded)
            {
                renderObject(arFragment, augmentedImage.createAnchor(augmentedImage.getCenterPose()),R.raw.car);
                modelAdded = true;
            }

            else if (augmentedImage.getName().contains("img2") && !modelAdded)
            {
                renderObject(arFragment, augmentedImage.createAnchor(augmentedImage.getCenterPose()), R.raw.car);
                modelAdded = true;
            }

            else if (augmentedImage.getName().contains("img3") && !modelAdded)
            {
                renderObject(arFragment, augmentedImage.createAnchor(augmentedImage.getCenterPose()), R.raw.car);
                modelAdded = true;
            }
        }
    }
}

0 个答案:

没有答案