Cara menerapkan entri nomor otomatis dengan fitur OCR HUAWEI ML Kit

informasi Umum



Pada artikel sebelumnya , kita berbicara tentang cara membuat fungsi penautan kartu bank menggunakan kemampuan pengenalan teks HUAWEI ML Kit. Pengguna hanya perlu mengunggah foto kartu mereka, dan aplikasi akan secara otomatis mengenali semua informasi penting. Ini membuatnya lebih mudah untuk memasukkan detail kartu bank. Tetapi dapatkah Anda melakukan hal yang sama dengan faktur dan kupon? Tentu saja Anda bisa! Dalam artikel ini, kami akan menunjukkan kepada Anda cara menggunakan kemampuan OCR HUAWEI ML Kit untuk memasukkan nomor akun dan kode diskon secara otomatis.



Janji



Fungsi OCR dapat digunakan dalam berbagai macam situasi. Misalnya, jika Anda memindai faktur di bawah, tunjukkan bahwa nomor layanan diawali dengan β€œNO.DE SERVICIO” dan juga masukkan batas panjang hingga 12 karakter. Kemudian Anda akan segera menerima nomor rekening "123456789123" menggunakan fungsi pengenalan teks.



gambar


Demikian juga, jika Anda memindai kupon di bawah ini, sesuaikan awal kode "FAVE-", batasi panjangnya menjadi 4 karakter untuk menerima kode diskon "8329", lalu selesaikan pembayaran.



gambar


Berguna, bukan? Anda juga dapat menyesuaikan data yang dapat dikenali aplikasi Anda.



Integrasi fungsi pengenalan teks



Jadi, mari kita cari tahu cara menangani nomor rekening dan kode diskon.



1. Persiapan



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();
}




! , . , .



gambar


, .



gambar


Github



β†’ Github

β†’ -: HUAWEI ML Kit β€” .




All Articles