1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jenly1314-MLKit

Клонировать/Скачать
README.md 15 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 15:54 21c071b

Ком. гитер. дженли 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 Ошибка; возникло исключение
}

Примеры использования каждого модуля

mlkit-common (новое в версии 1.3.0)

Общая библиотека, расположенная между камерой и каждым дочерним проектом, предоставляет общие функции для упрощения реализации каждого дочернего проекта.

mlkit-barcode-scanning

Пример реализации сканирования штрихкода/двумерного кода: пример реализации через прямое наследование 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.

mlkit-face-mesh-detection (1.2.0 новое дополнение)

Человек — сетчатое обнаружение — пример реализации: прямое наследование от FaceMeshCameraScanActivity.

FaceMeshDetectionActivity.

mlkit-image-labeling

Маркировка изображений — пример реализации: прямое наследование от ImageCameraScanActivity.

ImageLabelingActivity.

mlkit-object-detection

Обнаружение объектов — пример реализации: прямое наследование от ObjectCameraScanActivity.

ObjectDetectionActivity.

Многообъектное обнаружение — пример реализации: косвенное наследование от ObjectCameraScanActivity.

MultipleObjectDetectionActivity.

mlkit-pose-detection

Определение позы — пример реализации: прямое наследование от PoseCameraScanActivity.

PoseDetectionActivity.

mlkit-pose-detection-accurate

Точное определение позы — пример реализации: косвенное наследование от AccuratePoseCameraScanActivity.

AccuratePoseDetectionActivity.

mlkit-segmentation-selfie

Сегментация селфи — пример реализации: прямое наследование от SegmentationCameraScanActivity.

SelfieSegmentationActivity.

mlkit-text-recognition

Распознавание текста — пример реализации: прямое наследование от TextCameraScanActivity.

TextRecognitionActivity.

Конфигурация модели (необязательно)

О зависимостях загрузки модели: если вы решите использовать модели из 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.

Прочее

ABI фильтрация

В модуле build.gradle в разделе android{} установите поддерживаемые архитектуры SO (по желанию, поддержка нескольких платформ SO приводит к увеличению размера APK).

defaultConfig {
//...
ndk {
    // Установите поддерживаемые архитектуры SO (разработчик может выбрать одну или несколько платформ SO по мере необходимости).
    abiFilters 'armeabi-v7a' // , 'arm64-v8a', 'x86', 'x86_64'
}
}

JDK версия

Требуется JDK 8+ для компиляции, добавьте конфигурацию в build.gradle вашего проекта в разделе android{}.

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

Рекомендуемые ссылки

ZXingLite — библиотека сканирования на основе zxing, оптимизированная для сканирования и создания QR-кодов/штрих-кодов.

WeChatQRCode — открытый исходный код на основе OpenCV, который переносит движок сканирования WeChat QR Code.

CameraScan — общая базовая библиотека, которая упрощает процесс сканирования.

ViewfinderView — ViewfinderView — это представление для кадрирования: оно в основном используется для рендеринга анимационных эффектов, связанных со сканированием.

Журнал версий

v2.2.1: 2024-8-8

  • Оптимизация деталей.

v2.2.0: 2024-7-11

  • Обновление CameraScan до версии 1.2.0.
  • Обновление ViewfinderView до версии 1.2.0.
  • Обновление версий библиотек зависимостей MLKit.

v2.1.0: 2023-12-31

  • Обновление CameraScan до версии 1.1.0.
  • Обновление compileSdkVersion до 34.
  • Обновление Gradle до версии 8.0.

v2.0.1: 2023-9-13

  • Обновление CameraScan до версии 1.0.1.
  • Обновление ViewfinderView до версии 1.1.0.

v2.0.0: 2023-8-13

  • Удаление библиотеки ядра камеры (mlkit-camera-core), вместо этого зависит от CameraScan.
  • Удаление ViewfinderView в mlkit-barcode-scanning, вместо этого зависит отViewfinderView.
  • Улучшение производительности процесса сканирования.
  • Обновление библиотек зависимостей MLKit.

v1.4.0: 2023-4-15

  • Оптимизированы настройки по умолчанию для CameraScan (настройки CameraConfig).
  • Оптимизированные настраиваемые свойства ViewfinderView (добавлен laserDrawableRatio).
  • Обновлены версии библиотек зависимостей MLKit.
  • Обновлено до CameraX версии 1.2.2.

См. полный журнал изменений.

Пожертвования

Если вам нравится MLKit или вы считаете, что MLKit вам помог, вы можете поддержать его, поставив звезду. Ваша поддержка — моя мотивация, спасибо :smiley:.

Вы также можете сканировать следующий QR-код, чтобы поддержать автора:

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/jenly1314-MLKit.git
git@api.gitlife.ru:oschina-mirror/jenly1314-MLKit.git
oschina-mirror
jenly1314-MLKit
jenly1314-MLKit
master