Распознавание текста с помощью Firebase ML Kit на iOS и Android

Практическое руководство по реализации функции распознавания текста с помощью Firebase ML Kit.

В предыдущей статье я говорил о том, что **Комплект Firebase ML** есть, и мы сделали краткий обзор всех его функций.

Вот еще раз ссылка на статью, если вы пропустили:
«Хорошо, МЛ Кит, насколько ты умен?»
*Введение в ML Kit и почему вы должны узнать о нем больше.*medium.com

В этой статье я расскажу, как реализовать распознавание текста функция в ML Kit для ваших приложений iOS и Android.

Прежде чем мы начнем, убедитесь, что:

  • вы включили Firebase в свой проект. Вы можете узнать, как это сделать в iOS здесь и в андроиде здесьа также

  • вы включили облачные API, если планируете их использовать.

Как упоминалось в предыдущей статье, вам нужно будет перейти на Пламя план использовать облачные API. После обновления вы найдете возможность включить облачные API на странице ML Kit панели управления Firebase вашего проекта.

API-интерфейсы на устройстве для распознавания текста и сканирования штрих-кодов;  Облачные API для маркировки изображенийAPI-интерфейсы на устройстве для распознавания текста и сканирования штрих-кодов; Облачные API для маркировки изображений

iOS

Шаг 1. Включите модули

Для iOS вам необходимо включить один из двух модулей: MLVision или MLVisionTextModel.

Используйте MLVision, если вы планируете использовать облачный API, и MLVisionTextModel, если хотите использовать только API на устройстве.

Включите их в свой подфайл следующим образом:

pod 'Firebase/Core'

# On-device API
pod 'Firebase/MLVisionTextModel'

# Cloud-based API
pod 'Firebase/MLVision'

После того, как вы включили эти модули в свой подфайл, запустите команду pod install a, чтобы установить эти модули.

Шаг 2. Импортируйте Firebase

В своем приложении импортируйте Firebase везде, где вам нужно, следующим образом:

import Firebase

Шаг 3: Получите экземпляр Vision

Нет, не этот Вижн…

Это был учебник о том, как вообще распознавать текст на изображениях. В ML Kit есть опция, с помощью которой вы можете обнаружить текст на изображении, которое является изображением документа.

Узнайте больше об этом здесь.

Андроид

Шаг 1. Добавьте Firebase ML Vision в качестве зависимости

Для Android вам необходимо включить зависимость ML Vision в блок зависимостей вашего файла build.gradle на уровне приложения следующим образом:

implementation 'com.google.firebase:firebase-ml-vision:19.0.3'

Шаг 2. Автоматическая загрузка модели машинного обучения для распознавания текста

Выполните этот шаг, только если вы используете API на устройстве.

Добавление следующего блока в файл AndroidManifest.xml гарантирует, что модель машинного обучения для распознавания текста загружается автоматически при загрузке вашего приложения из Play Store:

<application ...>
  ...
  <meta-data
      android:name="com.google.firebase.ml.vision.DEPENDENCIES"
      android:value="ocr" />
</application>

Шаг 3: Получите экземпляр распознавателя текста

Поскольку ваш распознаватель текста — это компонент, отвечающий за обработку вашего изображения и распознавание текста в нем, вам нужно получить его экземпляр, прежде чем делать что-либо еще:

// On-device API
val recognizer = FirebaseVision.getInstance().onDeviceTextRecognizer

// Cloud-based API
val recognizer = FirebaseVision.getInstance().cloudTextRecognizer

Шаг 4 (необязательно): настройте распознаватель текста для обнаружения определенных языков

Вы можете настроить распознаватель текста только для распознавания текста на определенном языке или на определенном наборе языков.

// Setting languages to English, French & Hindi
val options = FirebaseVisionCloudTextRecognizerOptions.Builder()
        .setLanguageHints(Arrays.asList("en", "fr", "hi"))
        .build()

// Create your text recognizer with the above options
val recognizer = FirebaseVision.getInstance().getCloudTextRecognizer(options)

Шаг 5: Получите изображение как FirebaseVisionImage

Вот как вы можете получить свой FirebaseVisionImage из растрового изображения:

val image = FirebaseVisionImage.fromBitmap(bitmap)

Шаг 6. Обработайте FirebaseVisionImage с помощью распознавателя текста.

После того, как вы получите свой FirebaseVisionImage и свой распознаватель текста, вы можете обработать свое изображение, вызвав метод processImage() в распознавателе текста следующим образом: