Как использовать Google Vision QR Code Detector - PullRequest
0 голосов
/ 05 мая 2019

Я пытаюсь сканировать QR-коды с помощью API Google Vision, но в результате получаю пустой массив.

Я работаю на устройстве Xiaomi Mi A1 с уровнем API 27, minSdkVersion 22, targetSdkVersion 28 и Google Vision API версия 17.02.

В качестве теста я делаю чтение ресурса PNG (изображения QR-кода) как объекта Bitmap, а затем подачу его в BarcodeDetector:

val detector = BarcodeDetector.Builder(applicationContext)
                .setBarcodeFormats(Barcode.QR_CODE)
                .build()

val myBitmap : Bitmap = BitmapFactory.decodeResource(
            applicationContext.resources,
            R.drawable.qrcode)

val frame = Frame.Builder().setBitmap(myBitmap).build()

if (detector.isOperational) {
    val result : SparseArray<Barcode> = detector.detect(frame)
    i ("QRCodeExample", "QR Codes count: ${result.size()}") // prints 0
}

Как показано в приведенном выше коде, я проверил флаг detector.isOperational, и детектор, кажется, работает, но SparseArray пуст.

"Внешние" вещи, которые я попытался безуспешно:

  • Удаление кэша служб Google Play
  • Удаление данных приложения
  • Обновление версии API Vision с 15.02 до 17.02
...