前言
現(xiàn)如今尾序,人際交往成為生活中必不可少的一部分每币,之間互相傳遞名片琢歇,記錄聯(lián)系信息李茫,是必要的一步,名片承擔(dān)著對(duì)方的各種信息魄宏,姓名宠互、公司、地址等等予跌,一般情況下券册,我們會(huì)比對(duì)著錄入名片上的各種信息,一個(gè)個(gè)地敲擊手機(jī)鍵盤(pán)航邢。如果有了名片識(shí)別,就可以扭轉(zhuǎn)這種現(xiàn)象翠忠,輕松完成名片識(shí)別,錄入名片信息当娱。
名片識(shí)別技術(shù)介紹
名片識(shí)別采用OCR技術(shù)跨细,將名片上的文字轉(zhuǎn)化識(shí)別為可進(jìn)行編輯處理的相應(yīng)文字,并可對(duì)識(shí)別后的名片信息進(jìn)行分類(lèi)管理震叙。它支持通過(guò)拍照識(shí)別、二維碼識(shí)別乐尊、導(dǎo)入識(shí)別方式對(duì)名片信息進(jìn)行采集划址,用戶(hù)只需將名片放在手機(jī)拍攝的預(yù)覽框內(nèi),便可自動(dòng)完成對(duì)名片識(shí)別的一系列操作痢缎,非常方便独旷。
開(kāi)發(fā)前準(zhǔn)備步驟
在開(kāi)始API開(kāi)發(fā)工作之前嵌洼,您需要完成必要的開(kāi)發(fā)準(zhǔn)備工作咱台,同時(shí)請(qǐng)確保您的工程中已經(jīng)配置HMS Core SDK的Maven倉(cāng)地址回溺,并且完成了本服務(wù)的SDK集成混萝。
android studio 安裝
很簡(jiǎn)單,下載安裝即可车要。具體下載鏈接:
Android studio 官網(wǎng)下載鏈接:https://developer.android.com/studio
Android studio安裝流程參考鏈接:https://www.cnblogs.com/xiadewang/p/7820377.html
在項(xiàng)目級(jí)gradle里添加華為maven倉(cāng)
打開(kāi)AndroidStudio項(xiàng)目級(jí)build.gradle文件
maven地址
在buildscript->repositories里面配置HMS SDK的maven倉(cāng)地址
buildscript {
repositories {
maven { url 'https://developer.huawei.com/repo/' }
}
}
在allprojects ->repositories里面配置HMS SDK的maven倉(cāng)地址
allprojects {
repositories {
maven { url 'https://developer.huawei.com/repo/' }
}
}
引入SDK
dependencies {
// Text recognition SDK.
implementation 'com.huawei.hms:ml-computer-vision-ocr:2.0.1.300'
// Text recognition model.
implementation 'com.huawei.hms:ml-computer-vision-ocr-cn-model:2.0.1.300'
implementation 'com.huawei.hms:ml-computer-vision-ocr-jk-model:2.0.1.300'
implementation 'com.huawei.hms:ml-computer-vision-ocr-latin-model:2.0.1.300'
}
清單文件
<manifest
...
<meta-data
android:name="com.huawei.hms.ml.DEPENDENCY"
android:value="ocr" />
...
</manifest>
權(quán)限
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.autofocus" />
動(dòng)態(tài)權(quán)限申請(qǐng)
if (!(ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED)) {
requestCameraPermission();
}
開(kāi)發(fā)重點(diǎn)步驟
1. 創(chuàng)建文本分析器MLTextAnalyzer用于識(shí)別圖片中的文字,使用自定義參數(shù)MLLocalTextSetting配置端側(cè)文本分析器琅坡。
MLLocalTextSetting setting = new MLLocalTextSetting.Factory()
.setOCRMode(MLLocalTextSetting.OCR_DETECT_MODE)
.setLanguage("zh")
.create();
MLTextAnalyzer analyzer = MLAnalyzerFactory.getInstance()
.getLocalTextAnalyzer(setting);
2. 通過(guò)android.graphics.Bitmap創(chuàng)建MLFrame榆俺,支持的圖片格式包括:jpg/jpeg/png/bmp,建議輸入圖片長(zhǎng)寬比范圍:1:2到2:1陪捷。
MLFrame frame = MLFrame.fromBitmap(bitmap);
3. 將生成的MLFrame對(duì)象傳遞給“asyncAnalyseFrame”方法進(jìn)行文字識(shí)別诺擅。
Task<MLText> task = analyzer.asyncAnalyseFrame(frame);
task.addOnSuccessListener(new OnSuccessListener<MLText>() {
@Override
public void onSuccess(MLText text) {
// Recognition success.
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
// Recognition failure.
}
});
4. 識(shí)別完成市袖,停止分析器,釋放識(shí)別資源掀虎。
try {
if (analyzer != null) {
analyzer.stop();
}
} catch (IOException e) {
// IOException
} catch (Exception e) {
// Exception
}
Demo效果
為了便于開(kāi)發(fā)者更好的理解此場(chǎng)景凌盯,我們也做了一個(gè)demo app,展示名片識(shí)別的功能效果
如果你對(duì)實(shí)現(xiàn)方式感興趣烹玉,可以在Github上下載源碼:https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides-V5/text-recognition-0000001050040053-V5#ZH-CN_TOPIC_0000001050750207__section16220018134717