【问题标题】:Loading images from desktop for unit tests in Android studio从桌面加载图像以在 Android Studio 中进行单元测试
【发布时间】:2016-06-24 01:07:35
【问题描述】:

我已经编写了一个 android OpenCV 应用程序并且为了测试我的功能,我需要从我的计算机加载一些示例图像并将结果保存回我的计算机以查看功能是否正常工作。 我在 Android Studio 的资源文件夹下放了一个 jpg 文件,我可以从这个文件夹加载一个文件,但 BitmapFactory 总是返回 null。我该如何解决这个问题?

File file = getFileFromPath(this, "roi_RGB.jpg");
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inPreferredConfig = Bitmap.Config.ARGB_8888;
        options.inSampleSize = 4;
        Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath(), options); 

我将图像加载为:

private static File getFileFromPath(Object obj, String fileName) {
    ClassLoader classLoader = obj.getClass().getClassLoader();
    URL resource = classLoader.getResource(fileName);
    return new File(resource.getPath());
}

位图始终为空。

【问题讨论】:

    标签: android opencv android-studio opencv4android


    【解决方案1】:

    不能在 android 中引用桌面文件,因为它无法从桌面读取。看看这个answer,了解如何改用测试资源文件夹。

    【讨论】:

    • 我已经尝试将我的图像放入资源文件夹并加载它。 (在我的帖子中编辑)。我仍然得到一个空位图
    【解决方案2】:

    测试应该写在 AndroidTest(仪表化单元测试)中。显然 Bitmap.decodeStream 或 Bitmap.decodeFile 在本地单元测试中不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-06
      • 2017-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多