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.

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.

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
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 β .