有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用HMS AREngine进行图像跟踪,它不断给出ACameraMetadata错误

我正在尝试开发一个使用HMS AREngine进行图像跟踪的工具,其基本思想是首先建立一个UGmenteImage数据库,从drawable文件夹中打开源图像作为位图进行图像识别,然后使用addImage()将位图添加到数据库中

arAugmentedImageDatabase = new ARAugmentedImageDatabase(arSession);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.img_one);
arAugmentedImageDatabase.addImage("cup",bitmap);

但此代码不断给出错误:

E/ACameraMetadata: getConstEntry: cannot find metadata tag 1114118
E/ACameraMetadata: getConstEntry: cannot find metadata tag -2147483139

我使用的图像文件是jpg格式的,我也尝试将该文件放在Assets文件夹中,但得到了相同的错误


共 (1) 个答案

  1. # 1 楼答案

    您可以尝试从Assets文件夹中以InputStream的形式打开源图像,然后调用decodeStream方法将其转换为位图。另外,请注意在活动的恢复状态下设置数据库

    以下是您可以参考的示例代码:

    arAugmentedImageDatabase = new ARAugmentedImageDatabase(arSession);
    InputStream inputStream = getAssets().open("img_one.jpg");
    Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
    arAugmentedImageDatabase.addImage("cup",bitmap);