HUAWEIMLキットのOCR機能を使用して自動番号入力を実装する方法

一般情報



では、前の記事では、我々はHUAWEI ML Kitのテキスト認識機能を使用して銀行カードをリンクする関数を作成する方法について話しました。ユーザーはカードの写真をアップロードするだけで、アプリケーションはすべての重要な情報を自動的に認識します。これにより、銀行カードの詳細を簡単に入力できます。しかし、請求書やクーポンでも同じことができますか?もちろんできます!この記事では、HUAWEI MLキットのOCR機能を使用して、アカウント番号と割引コードを自動的に入力する方法を紹介します。



予定



OCR機能は、さまざまな状況で使用できます。たとえば、以下の請求書をスキャンする場合、サービス番号が「NO.DE SERVICIO」で始まることを示し、最大12文字の長さ制限を入力してください。その後、テキスト認識機能を使用して、アカウント番号「123456789123」をすばやく受け取ります。



画像


同様に、以下のクーポンをスキャンする場合は、「FAVE-」コードの先頭をカスタマイズし、長さを4文字に制限して「8329」割引コードを受け取り、支払いを完了します。



画像


便利ですよね?アプリケーションが認識できるデータをカスタマイズすることもできます。



テキスト認識機能の統合



それでは、口座番号と割引コードの処理方法を見てみましょう。



1.準備



HUAWEI Developer. .



1.1 Maven build.gradle



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 :



apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'


1.3 SDK build.gradle



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



<manifest>
    ...
    <meta-data
        android:name="com.huawei.hms.ml.DEPENDENCY"
        android:value="ocr" />
     ...
</manifest>   


1.5



<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



MLTextAnalyzer analyzer = new MLTextAnalyzer.Factory(context).setLanguage(type).create();


2.2



analyzer.setTransactor(new OcrDetectorProcessor());


2.3 API



LensEngine SDK , .



lensEngine = new LensEngine.Creator(context, analyzer)
  .setLensType(LensEngine.BACK_LENS)
  .applyDisplayDimension(width, height)
  .applyFps(30.0f)
  .enableAutomaticFocus(true)
  .create(); 


2.4 run



try {
    lensEngine.run(holder);
} catch (IOException e) {
    // Exception handling logic.
    Log.e("TAG", "e=" + e.getMessage());
}


2.5 ,



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



if (analyzer != null) {
    try {
        analyzer.stop();
    } catch (IOException e) {
        // Exception handling.
    }
}
if (lensEngine != null) {
    lensEngine.release();
}




! , . , .



画像


, .



画像


Github



Github

→ -: HUAWEI ML Kit — .




All Articles