Как с помощью HUAWEI ML Kit реализовать функцию распознавания банковских карт

от автора

Общая информация

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

Назначение функции распознавания банковских карт

Прежде чем приступить к разработке, давайте рассмотрим, для чего нужна функция распознавания банковских карт. Она наиболее актуальна для приложений с функциями совершения платежей, таким как банковские приложения и онлайн-магазины. Эти приложения часто имеют ряд общих требований:

  • Привязка банковской карты

Пользователи могут привязать свои банковские карты для совершения быстрых онлайн-платежей.

  • Банковские переводы

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

  • Аутентификация по настоящему имени и подтверждение личности

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

Чтобы использовать каждую из этих возможностей, пользователь должен ввести данные своей банковской карты, включая номер карты и срок ее действия. Вы, конечно, знаете, что при ручном вводе данных легко допустить ошибки и потратить много времени. Но благодаря сервису распознавания банковских карт HUAWEI ML Kit пользователи смогут быстро и без ошибок вводить свои данные.

Применение сервиса распознавания банковских карт


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

Мы предлагаем плагин распознавания банковских карт, который вы сможете интегрировать, чтобы этот сервис стал доступным в вашем приложении. Плагин будет обрабатывать данные камеры за вас.

Начало разработки


1. Подготовка


1.1 Добавьте репозиторий Maven Huawei в файл на уровне проекта build.gradle
Откройте файл build.gradle в корневом каталоге вашего проекта Android Studio и добавьте адрес репозитория Maven.

buildscript {     repositories {                 maven {url 'http://developer.huawei.com/repo/'}     }    }allprojects {     repositories {                maven { url 'http://developer.huawei.com/repo/'}     }}

1.2 Добавьте зависимости SDK в файл на уровне приложения build.gradle

dependencies{     implementation 'com.huawei.hms:ml-computer-vision-bcr:1.0.3.303'    implementation 'com.huawei.hms:ml-computer-card-bcr-plugin:1.0.3.300'    implementation 'com.huawei.hms:ml-computer-card-bcr-model:1.0.3.300' }

1.3 Включите автоматическое обновление приложения до последней модели

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

<manifest     ...     <meta-data                      android:name="com.huawei.hms.ml.DEPENDENCY"           android:value= "bcr"/>         <!--If multiple models are required,set the parameter as follows:                android:value="object,ocr,face,label,icr,bcr,imgseg"-->      ... </manifest>

1.4 Запросите права доступа к Камере и Памяти в файле AndroidManifest.xml

 <uses-permission android:name="android.permission.CAMERA" />  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2. Разработка кода


2.1 Создайте функции обратного вызова, которые вызываются после получения результата распознавания

Переопределите функции onSuccess, onCanceled, onFailure и onDenied:

  • onSuccess: вызывается после завершения распознавания. MLBcrCaptureResult отображает результат распознавания.

  • onCanceled: вызывается, если пользователь отменил распознавание.

  • onFailure: вызывается при сбое распознавания.

  • onDenied: вызывается, если запрос на распознавание был отклонен по какой-либо причине (например, если камера недоступна).

private MLBcrCapture.Callback callback = new MLBcrCapture.Callback() {      @Override      public void onSuccess(MLBcrCaptureResult bankCardResult){      }       @Override      public void onCanceled(){      }        @Override      public void onFailure(int retCode, Bitmap bitmap){      }      @Override      public void onDenied(){      }   };

2.2 Установите параметры распознавания для вызова API captureFrame распознавателя
Данные распознавания возвращаются за счет функции обратного вызова, созданной в пункте 2.1.

private void startCaptureActivity(MLBcrCapture.Callback callback) {      MLBcrCaptureConfig config = new MLBcrCaptureConfig.Factory()           .setOrientation(MLBcrCaptureConfig.ORIENTATION_AUTO)          .create();      MLBcrCapture bankCapture = MLBcrCaptureFactory.getInstance().getBcrCapture(config);      bankCapture.captureFrame(this, callback); }

2.3 Вызовите метод, указанный в пункте 2.2, с помощью обратного вызова кнопки распознавания

@Override  public void onClick(View v) {      switch (v.getId()) {           case R.id.detect:              startCaptureActivity(callback);              break;          default:              break;      } }

Попробуйте сами

Давайте посмотрим, как работает функция распознавания банковских карт.

Исходный код


Мы выгрузили исходный код в GitHub, поэтому вы можете свободно вносить изменения.
github.com/HMS-Core/hms-ml-demo
More details you can visit

См. пример кода для распознавания банковских карт в разделе MLKit-Sample\module-text\src\main\java\com\mlkit\sample\activity\BankCardRecognitionActivity.java.
Для получения подробной информации перейдите на наш официальный веб-сайт.

Новые примеры

Мы будем делиться с вами другими полезными функциями HUAWEI ML Kit. Следите за обновлениями!

ссылка на оригинал статьи https://habr.com/ru/post/515020/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *