关于android:名片识别史上最简单的集成攻略来啦附有SDK包

32次阅读

共计 2841 个字符,预计需要花费 8 分钟才能阅读完成。

前言

现如今,人际交往成为生存中必不可少的一部分,之间相互传递名片,记录分割信息,是必要的一步,名片承当着对方的各种信息,姓名、公司、地址等等,个别状况下,咱们会比对着录入名片上的各种信息,一个个地敲击手机键盘。如果有了名片辨认,就能够扭转这种景象,轻松实现名片辨认,录入名片信息。

名片辨认技术介绍

名片辨认采纳 OCR 技术,将名片上的文字转化辨认为可进行编辑解决的相应文字,并可对辨认后的名片信息进行分类管理。它反对通过拍照辨认、二维码辨认、导入辨认形式对名片信息进行采集,用户只需将名片放在手机拍摄的预览框内,便可主动实现对名片辨认的一系列操作,十分不便。

开发前筹备步骤

在开始 API 开发工作之前,您须要实现必要的开发筹备工作,同时请确保您的工程中曾经配置 HMS Core SDK 的 Maven 仓地址,并且实现了本服务的 SDK 集成。

android studio 装置

很简略,下载安装即可。具体下载链接:

**Android studio 官网下载链接:https://developer.android.com/studio
Android studio 装置流程参考链接:https://www.cnblogs.com/xiadewang/p/7820377.html**

在我的项目级 gradle 里增加华为 maven 仓

关上 AndroidStudio 我的项目级 build.gradle 文件

maven 地址

 在 buildscript->repositories 外面配置 HMS SDK 的 maven 仓地址

buildscript {
    repositories {maven { url 'https://developer.huawei.com/repo/'}
         
    }
}

在 allprojects ->repositories 外面配置 HMS SDK 的 maven 仓地址

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>

权限

<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" />

动静权限申请

if (!(ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED)) {requestCameraPermission();
}

开发重点步骤

1. 创立文本分析器 MLTextAnalyzer 用于辨认图片中的文字,应用自定义参数 MLLocalTextSetting 配置端侧文本分析器。

MLLocalTextSetting setting = new MLLocalTextSetting.Factory()
        .setOCRMode(MLLocalTextSetting.OCR_DETECT_MODE)
        .setLanguage("zh")
        .create();
MLTextAnalyzer analyzer = MLAnalyzerFactory.getInstance()
        .getLocalTextAnalyzer(setting);

2. 通过 android.graphics.Bitmap 创立 MLFrame,反对的图片格式包含:jpg/jpeg/png/bmp,倡议输出图片长宽比范畴:1:2 到 2:1。

MLFrame frame = MLFrame.fromBitmap(bitmap);

3. 将生成的 MLFrame 对象传递给“asyncAnalyseFrame”办法进行文字辨认。

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. 辨认实现,进行分析器,开释辨认资源。

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

Demo 成果

为了便于开发者更好的了解此场景,咱们也做了一个 demo app,展现名片辨认的性能成果

如果你对实现形式感兴趣,能够在 Github 上下载源码:https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides-V5/text-recognition-0000001050040053-V5#ZH-CN_TOPIC_0000001050750207__section16220018134717


原文链接:
https://developer.huawei.com/consumer/cn/forum/topic/0204399685438720133?fid=18
作者:timer

正文完
 0