1

ML Kit 的条形码扫描功能的文档说您应该在下面的代码段中配置FirebaseVisionImageMetadata类似的内容:

FirebaseVisionImageMetadata metadata = new FirebaseVisionImageMetadata.Builder()
        .setWidth(1280)
        .setHeight(720)
        .setFormat(FirebaseVisionImageMetadata.IMAGE_FORMAT_NV21)
        .setRotation(rotation)
        .build();

完全没有关于使用什么格式的文档。ImageFormat 接口的 API 文档并没有真正的帮助。

我怎么知道在这里选择什么?选择其中之一会有什么后果?设备支持的格式是否不同?

4

1 回答 1

0

支持的文件格式位于文档的FirebaseVisionImageMetadata.ImageFormat部分。

特别是它的YV21NV21(链接到 Android 文档)

正如您在 Android 文档中看到的那样,它主要是关于您使用的相机库以及推荐的格式。

格式决定了图像数据在ByteBuffer您传递的数据中的表示方式,因此如果您使用与源不匹配的格式,图像将被错误地解释。如果您不使用ByteBuffer,则无需创建元数据对象!

于 2018-09-12T22:42:19.223 回答