[Разработка под Android, Машинное обучение] Как с помощью возможности распознавания текста HUAWEI ML Kit реализовать функцию автоматического ввода номеров
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
## Общая информация
В предыдущей статье мы рассказали о том, как с помощью возможности распознавания текста HUAWEI ML Kit создать функцию привязки банковских карт. Пользователям достаточно загрузить фотографию своей карты, и приложение автоматически распознает всю важную информацию. Это значительно облегчает ввод данных банковской карты. Но можно ли сделать то же самое со счетами и скидочными купонами? Конечно, можно! В этой статье мы покажем вам, как с помощью возможности распознавания текста HUAWEI ML Kit создать функцию автоматического ввода номеров счетов и скидочных кодов.
## Назначение
Функция распознавания текста может применяться в самых разных ситуациях. Например, если вы сканируете счет ниже, укажите, что номер услуги начинается с «NO.DE SERVICIO», а также введите ограничение длины до 12 символов. Тогда вы быстро получите номер счета «123456789123» с помощью функции распознавания текста.
Аналогично, если вы сканируете скидочный купон ниже, настройте начало кода «FAVE-», ограничьте длину до 4 символов, чтобы получить код скидки «8329» и затем завершить платеж.
Полезно, правда? Вы также можете самостоятельно настраивать данные, которые сможет распознавать ваше приложение.
## Интеграция функции распознавания текста
Итак, давайте узнаем, как обрабатывать номера счетов и скидочные коды.
### 1. Подготовка
Подробную информацию о необходимых подготовительных шагах вы можете найти на платформе [HUAWEI Developer](https://developer.huawei.com/consumer/en/doc/develo...s/ml-process-4).
Ниже мы кратко рассмотрим только ключевые моменты.
#### 1.1 Настройте адрес репозитория Maven в файле на уровне проекта build.gradle
```javascript
buildscript {
repositories {
…
maven {url 'https://developer.huawei.com/repo/'}
}
}
dependencies {
…
classpath 'com.huawei.agconnect:agcp:1.3.1.300'
}
allprojects {
repositories {
…
maven {url 'https://developer.huawei.com/repo/'}
}
}
```
#### 1.2 Добавьте настройки к заголовку файла
После интеграции SDK добавьте следующие настройки к заголовку файла:
```javascript
apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
```
#### 1.3 Настройте зависимости SDK в файле на уровне приложения build.gradle
```javascript
dependencies {
// Import the base SDK.
implementation 'com.huawei.hms:ml-computer-vision-ocr:2.0.1.300'
// Import the Latin character recognition model package.
implementation 'com.huawei.hms:ml-computer-vision-ocr-latin-model:2.0.1.300'
// Import the Japanese and Korean character recognition model package.
implementation 'com.huawei.hms:ml-computer-vision-ocr-jk-model:2.0.1.300'
// Import the Chinese and English character recognition model package.
implementation 'com.huawei.hms:ml-computer-vision-ocr-cn-model:2.0.1.300'
}
```
#### 1.4 Добавьте эти выражения в файл AndroidManifest.xml для автоматического обновления модели машинного обучения
```javascript
…
<meta-data
android:name=«com.huawei.hms.ml.DEPENDENCY»
android:value=«ocr» />
…
```
#### 1.5 Отправьте заявку на право использования камеры
```javascript
<uses-permission android:name=«android.permission.CAMERA» />
<uses-permission android:name=«android.permission.INTERNET» />
<uses-feature android:name=«android.hardware.camera» />
<uses-feature android:name=«android.hardware.camera.autofocus» />
```
### 2. Разработка кода
#### 2.1 Создайте анализатор
```java
MLTextAnalyzer analyzer = new MLTextAnalyzer.Factory(context).setLanguage(type).create();
```
#### 2.2 Настройте обработку результатов распознавания для привязки анализатора
```java
analyzer.setTransactor(new OcrDetectorProcessor());
```
#### 2.3 Вызовите синхронный API
С помощью встроенного **LensEngine **SDK создайте объект, зарегистрируйте анализатор и инициализируйте параметры камеры.
```java
lensEngine = new LensEngine.Creator(context, analyzer)
.setLensType(LensEngine.BACK_LENS)
.applyDisplayDimension(width, height)
.applyFps(30.0f)
.enableAutomaticFocus(true)
.create();
```
#### 2.4 Вызовите метод run для запуска камеры и считывания данных камеры при распознавании
```java
try {
lensEngine.run(holder);
} catch (IOException e) {
// Exception handling logic.
Log.e(«TAG», «e=» + e.getMessage());
}
```
#### 2.5 Обработайте результаты распознавания, как показано ниже
```java
public class OcrDetectorProcessor implements MLAnalyzer.MLTransactor<MLText.Block> {
Override
public void transactResult(MLAnalyzer.Result<MLText.Block> results) {
SparseArray<MLText.Block> items = results.getAnalyseList();
// Process the recognition result as required. Only the detection results are processed.
// Other detection-related APIs provided by ML Kit cannot be called.
…
}
Override
public void destroy() {
// Callback method used to release resources when the detection ends.
}
}
```
#### 2.6 Остановите анализатор и освободите ресурсы распознавания после завершения распознавания
```java
if (analyzer != null) {
try {
analyzer.stop();
} catch (IOException e) {
// Exception handling.
}
}
if (lensEngine != null) {
lensEngine.release();
}
```
##Демо
Вот и все! Помните, что при необходимости вы можете расширить возможности функции. А теперь давайте посмотрим, как отсканировать транспортные чеки.
А также как отсканировать скидочный код, чтобы быстро получить скидку онлайн и совершить платеж.
## Исходный код Github
Github:[https://github.com/HMS-Core/hms-ml-demo/tree/master...ext-Recognition)
Для получения подробной информации перейдите на наш официальный веб-сайт:[HUAWEI ML Kit — О сервисе](https://developer.huawei.com/consumer/en/hms/huawei-mlkit).
===========
Источник:
habr.com
===========
Похожие новости:
- [IT-эмиграция, Карьера в IT-индустрии] [Личный опыт] Как специалисту по Data Science с тремя годами опыта устроиться в Google и переехать в Лондон
- [Машинное обучение, Платежные системы, Разработка под e-commerce, Управление e-commerce] PayPal объявил войну тихоходкам
- [Машинное обучение, Социальные сети и сообщества, Научная фантастика] Отсортировать по противоречивости
- [Разработка под Android] Navigation Component-дзюцу, vol. 2 – вложенные графы навигации
- [Машинное обучение, Искусственный интеллект] Военные США планируют провести реальный воздушный бой человека против ИИ уже в 2024 году
- [Разработка на Raspberry Pi, Компьютерное железо, DIY или Сделай сам] Энтузиаст поделился проектом ударопрочного корпуса для Raspberry Pi
- [Разработка под Android] Антипаттерн “Репозиторий” в Android (перевод)
- [Веб-дизайн, Машинное обучение, Графический дизайн, Дизайн] Как мы создали логотип для компании Aqua Lung
- [Машинное обучение, Искусственный интеллект, Будущее здесь] В Сколтехе предсказали сверхтвердые материалы с помощью ИИ
- [Разработка мобильных приложений, Разработка под Android, Смартфоны] Обзор HMS Core 5.0: ещё больше возможностей для ML на мобильных устройствах и новые инструменты для аудио и видео
Теги для поиска: #_razrabotka_pod_android (Разработка под Android), #_mashinnoe_obuchenie (Машинное обучение), #_machine_learning, #_diy, #_development_for_android, #_razrabotka_pod_android (
Разработка под Android
), #_mashinnoe_obuchenie (
Машинное обучение
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 22:12
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
## Общая информация В предыдущей статье мы рассказали о том, как с помощью возможности распознавания текста HUAWEI ML Kit создать функцию привязки банковских карт. Пользователям достаточно загрузить фотографию своей карты, и приложение автоматически распознает всю важную информацию. Это значительно облегчает ввод данных банковской карты. Но можно ли сделать то же самое со счетами и скидочными купонами? Конечно, можно! В этой статье мы покажем вам, как с помощью возможности распознавания текста HUAWEI ML Kit создать функцию автоматического ввода номеров счетов и скидочных кодов. ## Назначение Функция распознавания текста может применяться в самых разных ситуациях. Например, если вы сканируете счет ниже, укажите, что номер услуги начинается с «NO.DE SERVICIO», а также введите ограничение длины до 12 символов. Тогда вы быстро получите номер счета «123456789123» с помощью функции распознавания текста. Аналогично, если вы сканируете скидочный купон ниже, настройте начало кода «FAVE-», ограничьте длину до 4 символов, чтобы получить код скидки «8329» и затем завершить платеж. Полезно, правда? Вы также можете самостоятельно настраивать данные, которые сможет распознавать ваше приложение. ## Интеграция функции распознавания текста Итак, давайте узнаем, как обрабатывать номера счетов и скидочные коды. ### 1. Подготовка Подробную информацию о необходимых подготовительных шагах вы можете найти на платформе [HUAWEI Developer](https://developer.huawei.com/consumer/en/doc/develo...s/ml-process-4). Ниже мы кратко рассмотрим только ключевые моменты. #### 1.1 Настройте адрес репозитория Maven в файле на уровне проекта build.gradle ```javascript buildscript { repositories { … maven {url 'https://developer.huawei.com/repo/'} } } dependencies { … classpath 'com.huawei.agconnect:agcp:1.3.1.300' } allprojects { repositories { … maven {url 'https://developer.huawei.com/repo/'} } } ``` #### 1.2 Добавьте настройки к заголовку файла После интеграции SDK добавьте следующие настройки к заголовку файла: ```javascript apply plugin: 'com.android.application' apply plugin: 'com.huawei.agconnect' ``` #### 1.3 Настройте зависимости SDK в файле на уровне приложения build.gradle ```javascript dependencies { // Import the base SDK. implementation 'com.huawei.hms:ml-computer-vision-ocr:2.0.1.300' // Import the Latin character recognition model package. implementation 'com.huawei.hms:ml-computer-vision-ocr-latin-model:2.0.1.300' // Import the Japanese and Korean character recognition model package. implementation 'com.huawei.hms:ml-computer-vision-ocr-jk-model:2.0.1.300' // Import the Chinese and English character recognition model package. implementation 'com.huawei.hms:ml-computer-vision-ocr-cn-model:2.0.1.300' } ``` #### 1.4 Добавьте эти выражения в файл AndroidManifest.xml для автоматического обновления модели машинного обучения ```javascript … <meta-data android:name=«com.huawei.hms.ml.DEPENDENCY» android:value=«ocr» /> … ``` #### 1.5 Отправьте заявку на право использования камеры ```javascript <uses-permission android:name=«android.permission.CAMERA» /> <uses-permission android:name=«android.permission.INTERNET» /> <uses-feature android:name=«android.hardware.camera» /> <uses-feature android:name=«android.hardware.camera.autofocus» /> ``` ### 2. Разработка кода #### 2.1 Создайте анализатор ```java MLTextAnalyzer analyzer = new MLTextAnalyzer.Factory(context).setLanguage(type).create(); ``` #### 2.2 Настройте обработку результатов распознавания для привязки анализатора ```java analyzer.setTransactor(new OcrDetectorProcessor()); ``` #### 2.3 Вызовите синхронный API С помощью встроенного **LensEngine **SDK создайте объект, зарегистрируйте анализатор и инициализируйте параметры камеры. ```java lensEngine = new LensEngine.Creator(context, analyzer) .setLensType(LensEngine.BACK_LENS) .applyDisplayDimension(width, height) .applyFps(30.0f) .enableAutomaticFocus(true) .create(); ``` #### 2.4 Вызовите метод run для запуска камеры и считывания данных камеры при распознавании ```java try { lensEngine.run(holder); } catch (IOException e) { // Exception handling logic. Log.e(«TAG», «e=» + e.getMessage()); } ``` #### 2.5 Обработайте результаты распознавания, как показано ниже ```java public class OcrDetectorProcessor implements MLAnalyzer.MLTransactor<MLText.Block> { Override public void transactResult(MLAnalyzer.Result<MLText.Block> results) { SparseArray<MLText.Block> items = results.getAnalyseList(); // Process the recognition result as required. Only the detection results are processed. // Other detection-related APIs provided by ML Kit cannot be called. … } Override public void destroy() { // Callback method used to release resources when the detection ends. } } ``` #### 2.6 Остановите анализатор и освободите ресурсы распознавания после завершения распознавания ```java if (analyzer != null) { try { analyzer.stop(); } catch (IOException e) { // Exception handling. } } if (lensEngine != null) { lensEngine.release(); } ``` ##Демо Вот и все! Помните, что при необходимости вы можете расширить возможности функции. А теперь давайте посмотрим, как отсканировать транспортные чеки. А также как отсканировать скидочный код, чтобы быстро получить скидку онлайн и совершить платеж. ## Исходный код Github Github:[https://github.com/HMS-Core/hms-ml-demo/tree/master...ext-Recognition) Для получения подробной информации перейдите на наш официальный веб-сайт:[HUAWEI ML Kit — О сервисе](https://developer.huawei.com/consumer/en/hms/huawei-mlkit). =========== Источник: habr.com =========== Похожие новости:
Разработка под Android ), #_mashinnoe_obuchenie ( Машинное обучение ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 22:12
Часовой пояс: UTC + 5