informação geral
Em artigos anteriores, falamos sobre como usar o kit HUAWEI ML para criar uma função de detecção de sorriso e um miniaplicativo para fotos de documentos. Neste artigo, mostrarei como implementar o recurso de reconhecimento de cartão do banco para que os usuários possam vincular um cartão do banco com um mínimo de investimento de tempo.

Objetivo da função de reconhecimento de cartões bancários
Antes de começar a desenvolver, vamos ver para que serve a função de reconhecimento de cartão bancário. É mais relevante para aplicativos com funções de pagamento, como aplicativos bancários e compras online. Esses aplicativos geralmente têm uma série de requisitos comuns:
- Vinculando um cartão de banco
Os usuários podem vincular seus cartões bancários para fazer pagamentos online rápidos.
- Transferências bancárias
Os usuários podem transferir dinheiro entre contas no mesmo banco ou entre bancos diferentes.
- Autenticação de nome real e verificação de identidade
Os usuários podem se autenticar rapidamente com seu nome real e verificar sua identidade com base nas informações do cartão do banco.
Para usar cada uma dessas opções, o usuário deve inserir os dados do cartão do banco, incluindo o número do cartão e a data de validade. Você certamente sabe que é fácil cometer erros e perder muito tempo ao inserir dados manualmente. Mas, graças ao serviço de reconhecimento de cartões bancários HUAWEI ML Kit, os usuários poderão inserir seus dados rapidamente e sem erros.
Aplicativo do serviço de reconhecimento de cartão bancário
O serviço de reconhecimento de cartão bancário permite que a câmera reconheça cartões bancários e leia dados importantes, como número do cartão e data de validade. Suportado por um serviço de reconhecimento de ID, ele oferece vários recursos populares, como verificação de identidade e entrada de número de cartão de crédito.

Oferecemos um plugin de reconhecimento de cartão bancário que você pode integrar para disponibilizar este serviço em seu aplicativo. O plugin cuidará dos dados da câmera para você.
Início do desenvolvimento
1. Preparação
Adicione o repositório Maven 1.1 da Huawei a um arquivo no nível do projeto build.gradle
Abra o arquivo build.gradle na pasta raiz do seu projeto Android Studio e adicione o endereço do repositório Maven.
buildscript {
repositories {
maven {url 'http://developer.huawei.com/repo/'}
} }allprojects {
repositories {
maven { url 'http://developer.huawei.com/repo/'}
}}
1.2 Adicionar dependências do SDK ao arquivo build.gradle de nível de aplicativo
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 Habilite a atualização automática do aplicativo para o modelo mais recente
Para que seu aplicativo atualize automaticamente o modelo de aprendizado de máquina após o download do HUAWEI AppGallery, adicione os seguintes dados ao arquivo 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 Solicitar direitos de acesso à câmera e memória no arquivo AndroidManifest.xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2. Desenvolvimento de código
2.1 Criar funções de retorno de chamada que são chamadas após receber o resultado do reconhecimento
Substituir as funções onSuccess, onCanceled, onFailure e onDenied :
- onSuccess : Chamado após a conclusão do reconhecimento. MLBcrCaptureResult exibe o resultado do reconhecimento.
- onCanceled : Chamado se o usuário cancelou o reconhecimento.
- onFailure : Chamado quando o reconhecimento falha.
- onDenied : Chamado se a solicitação de reconhecimento foi negada por qualquer motivo (por exemplo, se a câmera não estiver disponível).
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 Definir os parâmetros de reconhecimento para a chamada de API captureFrame do reconhecedor Os
dados de reconhecimento são retornados pela função de retorno de chamada criada em 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 Chame o método especificado na cláusula 2.2 com o retorno de chamada do botão de reconhecimento
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.detect:
startCaptureActivity(callback);
break;
default:
break;
} }
Tente você mesmo
Vamos dar uma olhada em como funciona o recurso de reconhecimento de cartão bancário.

Fonte
Carregamos o código-fonte no GitHub, fique à vontade para fazer alterações.
github.com/HMS-Core/hms-ml-demo
Mais detalhes que você pode visitar
Veja o código de exemplo para reconhecer cartões bancários em MLKit-Sample \ module-text \ src \ main \ java \ com \ mlkit \ sample \ activity \ BankCardRecognitionActivity.java.
Visite nosso site oficial para obter detalhes.
Novos exemplos
Compartilharemos com você outros recursos úteis do kit HUAWEI ML. Fique ligado!