Ком. гитер. дженли 1314. мл кит: мл кит текст рекогнишн: 2.2.1
### 温馨提示
#### 关于 MLKit 版本与编译的 SDK 版本要求
> Использование версии v2.1.x и выше требует compileSdkVersion >= 34
> Использование версий v2.0.x и выше требует compileSdkVersion >= 33
> Если compileSdkVersion < 33, рекомендуется использовать версию 1.x (https://github.com/jenly1314/MLKit/tree/1.x/)
## Использование
### Версия изменения
#### Изменения версии 2.x
С версии 1.x до версии 2.x произошли следующие основные изменения:
* В mlkit-camera-core, базовом ядре библиотеки версии 1.x, произошли изменения. Начиная с версии 2.0.0, используется зависимость от CameraScan (https://github.com/jenly1314/CameraScan), который является независимой библиотекой и поддерживается отдельно;
* ViewfinderView в mlkit-barcode-scanning был удалён. Начиная с версии 2.0.0, вместо него используется зависимость от ViewfinderView (https://github.com/jenly1314/ViewfinderView), которая является независимой библиотекой и поддерживается отдельно.
На основе этих двух основных различий, использование версии 2.x в основном аналогично использованию версии 1.x, но с некоторыми изменениями в деталях.
> Если вы переходите с версии 1.x на версию 2.x, вам необходимо знать об этих различиях, особенно о библиотеках, которые были выделены в отдельные проекты и поддерживаются отдельно. Их имена пакетов изменились, и это следует учитывать при обновлении. В большинстве случаев достаточно изменить импорт пакета.
> Если вы используете версию 1.x, пожалуйста, перейдите непосредственно к ветке версии 1.x (https://github.com/jenly1314/MLKit/tree/1.x/).
#### Использование версии 2.x
Версия 2.x основана на использовании CameraScan в качестве базовой библиотеки для реализации конкретных функций анализа и обнаружения. Поэтому вы можете обратиться к документации по использованию CameraScan, чтобы понять, как он работает. После понимания использования CameraScan вы сможете легко использовать все модули MLKit.
### Описание основных классов каждого модуля
Ниже приводится описание основных функций и классов анализа для каждого модуля. Основные функции включают реализацию Analyzer для соответствующей функции и классы BaseCameraScanActivity или BaseCameraScanFragment, которые облегчают быстрое внедрение сканирования и обнаружения.
| Функция | Принадлежащий модуль | Реализация соответствующего Analyzer | Соответствующий класс BaseCameraScanActivity / BaseCameraScanFragment |
|:----------|:---------------------------------|:------------------------------|:---------------------------------------------------|
| Сканирование штрихкода | mlkit-barcode-scanning | BarcodeScanningAnalyzer | BarcodeCameraScanActivity/QRCodeCameraScanActivity |
| Обнаружение лица | mlkit-face-detection | FaceDetectionAnalyzer | FaceCameraScanActivity |
| Детекция сетки лица | mlkit-face-mesh-detection | FaceMeshDetectionAnalyzer | FaceMeshCameraScanActivity |
| Маркировка изображения | mlkit-image-labeling | ImageLabelingAnalyzer | ImageCameraScanActivity |
| Обнаружение объекта | mlkit-object-detection | ObjectDetectionAnalyzer | ObjectCameraScanActivity |
| Детекция позы | mlkit-pose-detection | PoseDetectionAnalyzer | PoseCameraScanActivity |
| Точная детекция позы | mlkit-pose-detection-accurate | AccuratePoseDetectionAnalyzer | AccuratePoseCameraScanActivity |
| Разделение селфи | mlkit-segmentation-selfie | SegmentationAnalyzer | SegmentationCameraScanActivity |
| Распознавание текста | mlkit-text-recognition | TextRecognitionAnalyzer | TextCameraScanActivity
> xxx CameraScanActivity и xxx BaseCameraScanFragment представлены только одним примером, так как существует один xxx CameraScanActivity, соответствующий одному xxx CameraScanFragment. Они имеют одинаковое префиксное имя и схожий способ использования.
### Пример анализа сканирования штрихкода (mlkit-barcode-scanning)
#### Поддерживаемые форматы штрихкодов:
* Линейные форматы: Codabar, Code 39, Code 93, Code 128, EAN-8, EAN-13, ITF, UPC-A, UPC-E
* Двумерные форматы: Aztec, Data Matrix, PDF417, QR Code
```kotlin
BarcodeDecoder.process(bitmap).addOnSuccessListener(this) {
if (it.isNotEmpty()) {
// TODO Успех; здесь можно получить результаты распознавания
} else {
// TODO Нет результатов
}
}.addOnFailureListener(this) {
// TODO Ошибка; возникло исключение
}
Общая библиотека, расположенная между камерой и каждым дочерним проектом, предоставляет общие функции для упрощения реализации каждого дочернего проекта.
Пример реализации сканирования штрихкода/двумерного кода: пример реализации через прямое наследование BarcodeCameraScanActivity (BarcodeScanningActivity (app/src/main/java/com/king/mlkit/vision/app/barcode/BarcodeScanningActivity.kt))
Пример реализации двумерного сканирования кода: пример реализации через косвенное наследование от BarcodeCameraScanActivity (QRCodeScanningActivity (app/src/main/java/com/king/mlkit/vision/app/barcode/QRCodeScanningActivity.kt))
Пример реализации множественного двумерного сканирования кода: пример реализации через косвенное наследование от BarcodeCameraScanActivity (MultipleQRCodeScanningActivity (app/src/main/java/com/king/mlkit/vision/app/barcode/MultipleQRCodeScanningActivity.kt)) FaceCameraScanActivity — пример реализации.
FaceDetectionActivity — пример многопользовательского обнаружения лиц, реализуется через косвенное наследование FaceCameraScanActivity.
Человек — сетчатое обнаружение — пример реализации: прямое наследование от FaceMeshCameraScanActivity.
Маркировка изображений — пример реализации: прямое наследование от ImageCameraScanActivity.
Обнаружение объектов — пример реализации: прямое наследование от ObjectCameraScanActivity.
Многообъектное обнаружение — пример реализации: косвенное наследование от ObjectCameraScanActivity.
MultipleObjectDetectionActivity.
Определение позы — пример реализации: прямое наследование от PoseCameraScanActivity.
Точное определение позы — пример реализации: косвенное наследование от AccuratePoseCameraScanActivity.
AccuratePoseDetectionActivity.
Сегментация селфи — пример реализации: прямое наследование от SegmentationCameraScanActivity.
Распознавание текста — пример реализации: прямое наследование от TextCameraScanActivity.
О зависимостях загрузки модели: если вы решите использовать модели из Google Play Services, вы можете настроить их в AndroidManifest.xml.
<meta-data android:name="com.google.firebase.ml.vision.DEPENDENCIES"
android:value="ocr" /><!-- To use multiple models: android:value="ocr,model2,model3" -->
Например, настройка моделей штрих-кода, лица, OCR и т. д.
<meta-data android:name="com.google.firebase.ml.vision.DEPENDENCIES"
android:value="barcode,face,ocr" />
Для получения дополнительной информации о том, как использовать API, см. app или API Help Docs.
В модуле build.gradle в разделе android{} установите поддерживаемые архитектуры SO (по желанию, поддержка нескольких платформ SO приводит к увеличению размера APK).
defaultConfig {
//...
ndk {
// Установите поддерживаемые архитектуры SO (разработчик может выбрать одну или несколько платформ SO по мере необходимости).
abiFilters 'armeabi-v7a' // , 'arm64-v8a', 'x86', 'x86_64'
}
}
Требуется JDK 8+ для компиляции, добавьте конфигурацию в build.gradle вашего проекта в разделе android{}.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Если вам нравится MLKit или вы считаете, что MLKit вам помог, вы можете поддержать его, поставив звезду. Ваша поддержка — моя мотивация, спасибо .
Вы также можете сканировать следующий QR-код, чтобы поддержать автора:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )