Сканирование штрих-кода используется для считывания данных, закодированных в штрих-кодах.
Штрих-коды могут сохранять данные в виде печатных / цифровых изображений, которые могут быть легко прочитаны нашими приложениями. В случае 2D QR-кодов мы также можем кодировать структурированные данные, такие как контактная информация или учетные данные сети Wi-Fi.
API сканирования штрих-кода ML Kit работает на самом устройстве, что делает его быстрым и точным.
Серия Firebase ML Kit
В этой серии статей мы подробно рассмотрим различные API-интерфейсы ML Kit, которые он предлагает ...
- Firebase ML Kit 101: Введение
- Firebase ML Kit 101: распознавание текста
- Firebase ML Kit 101: Распознавание лиц
- Firebase ML Kit 101: сканирование штрих-кода (здесь)
- Firebase ML Kit 101: маркировка изображений
- Firebase ML Kit 101: признание достопримечательностей
- Firebase ML Kit 101: идентификация языка
- Firebase ML Kit 101: умный ответ
Давайте рассмотрим API сканирования штрих-кода ML Kit и то, как мы можем интегрировать его в наши приложения.
Сканирование штрих-кода ML Kit
API сканирования штрих-кода ML Kit предоставляет следующие ключевые функции.
- API может считывать практически все стандартные форматы штрих-кодов.
- API по умолчанию сканирует все поддерживаемые форматы штрих-кодов. Однако вы можете ускорить этот процесс, явно указав форматы, которые вы ожидаете от него читать.
- API также может анализировать структурированные данные, хранящиеся в двухмерных QR-кодах.
Такие данные, как URL-адреса, контактная информация, адреса электронной почты, номера телефонов, информация о подключении Wi-Fi и т. Д.
Примечание. Firebase ML Kit находится в стадии бета-тестирования с января 1919 года.
Давайте код!
Шаг 1. Добавьте Firebase в свое приложение
Конечно! Вы можете добавить Firebase в свое приложение, выполнив действия, указанные здесь.
Шаг 2. Включите зависимость
Вам необходимо включить зависимость ML Kit в build.gradle
файл уровня приложения.
dependencies { // ... implementation 'com.google.firebase:firebase-ml-vision:19.0.2' }
Шаг 2.5: укажите модели машинного обучения (необязательно)
Для API на устройстве вы можете настроить приложение для автоматической загрузки моделей машинного обучения после его установки из Play Store. В противном случае модель будет загружена при первом запуске детектора на устройстве.
Чтобы включить эту функцию, вам необходимо указать свои модели в AndroidManifest.xml
файле приложения.
<application ...> ... <meta-data android:name="com.google.firebase.ml.vision.DEPENDENCIES" android:value="barcode" /> <!-- To use multiple models: android:value="barcode,model2" --> </application>
Шаг 3: Получите! - изображение
ML Kit обеспечивает простой способ сканирования штрих-кодов различных типов изображений, таких как Bitmap
, media.Image
, ByteBuffer
, byte[]
или файл на устройстве. Вам просто нужно создать объект FirebaseVisionImage
из вышеупомянутых типов изображений и передать его модели.
В моем примере приложения я использовал Bitmap
изображение для создания FirebaseVisionImage
объекта.
val image = FirebaseVisionImage.fromBitmap(bitmap)
Чтобы создать объект FirebaseVisionImage
из других типов изображений, обратитесь к официальной документации.
Шаг 4: Установите! - модель
Теперь пора подготовить нашу модель сканирования штрих-кода.
val detector = FirebaseVision.getInstance().visionBarcodeDetector
Чтобы ускорить процесс сканирования штрих-кода, мы также можем настроить нашу модель на обнаружение только тех форматов штрих-кода, которые мы ожидаем от нее.
val options = FirebaseVisionBarcodeDetectorOptions.Builder() .setBarcodeFormats( FirebaseVisionBarcode.FORMAT_QR_CODE, FirebaseVisionBarcode.FORMAT_AZTEC ) .build() val detector = FirebaseVision.getInstance().getVisionBarcodeDetector(options)
Полный список форматов штрих-кодов, которые поддерживает ML Kit, можно найти в официальной документации.
Шаг 5: Гооо!
Наконец, мы можем передать наше изображение модели для сканирования штрих-кода.
detector.detectInImage(image)
.addOnSuccessListener {
// Task completed successfully
}
.addOnFailureListener {
// Task failed with an exception
}
Шаг 6. Извлеките информацию
Вуаля! Вот и все!
Если сканирование штрих-кода прошло успешно, прослушиватель успеха получит список из FirebaseVisionBarcode
объектов. Каждый объект FirebaseVisionBarcode
представляет собой обнаруженный штрих-код и содержит всю связанную с ним информацию.
Вы можете извлечь всю эту информацию вот так.
Посмотри!
Это то, чего вы можете достичь с помощью API сканирования штрих-кода ML Kit.
Вот исходный код вышеуказанного приложения…
Серия Firebase ML Kit
Не забудьте взглянуть на другие API ML Kit, посвященные этой серии статей.
- Firebase ML Kit 101: Введение
- Firebase ML Kit 101: распознавание текста
- Firebase ML Kit 101: Распознавание лиц
- Firebase ML Kit 101: сканирование штрих-кода
- Firebase ML Kit 101: маркировка изображений
- Firebase ML Kit 101: признание достопримечательностей
- Firebase ML Kit 101: идентификация языка
- Firebase ML Kit 101: умный ответ
Полный исходный код с другими API ML Kit можно найти здесь!
Спасибо за внимание! Поделитесь этой статьей, если вы нашли ее полезной.
Пожалуйста, хлопайте 👏, чтобы проявить немного любви :)