Сканирование штрих-кода ML Kit — какой формат изображения использовать с FirebaseVisionImageMetadata?

В документации по функциям сканирования штрих-кодов ML Kit говорится, что вам следует настроить FirebaseVisionImageMetadata как в приведенном ниже фрагменте:

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

Документация о том, какой формат использовать, полностью отсутствует. И документ API для Интерфейс ImageFormat не очень полезен.

Откуда мне знать, что здесь выбрать? Каковы будут последствия выбора одного из другого? Отличаются ли устройства поддерживаемыми форматами?


person rrbrambley    schedule 12.09.2018    source источник


Ответы (1)


Поддерживаемые форматы файлов указаны в Раздел документации FirebaseVisionImageMetadata.ImageFormat.

В частности, это YV21 или NV21 (ссылки ведут на документацию Android)

Как вы можете видеть из документов Android, в основном речь идет о том, какую библиотеку камеры вы используете, и какой формат рекомендуется.

Формат определяет, как данные изображения представлены в ByteBuffer, который вы передаете, поэтому, если вы используете тот, который не соответствует источнику, изображение будет интерпретировано неправильно. Если вы не используете ByteBuffer, вам не нужно создавать объект метаданных!

person Ian Barber    schedule 12.09.2018