欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

OCR技术进行名片识别(集成攻略并附有SDK包)

程序员文章站 2022-03-03 19:21:49
前言现如今,人际交往成为生活中必不可少的一部分,之间互相传递名片,记录联系信息,是必要的一步,名片承担着对方的各种信息,姓名、公司、地址等等,一般情况下,我们会比对着录入名片上的各种信息,一个个地敲击手机键盘。如果有了名片识别,就可以扭转这种现象,轻松完成名片识别,录入名片信息。...

前言

现如今,人际交往成为生活中必不可少的一部分,之间互相传递名片,记录联系信息,是必要的一步,名片承担着对方的各种信息,姓名、公司、地址等等,一般情况下,我们会比对着录入名片上的各种信息,一个个地敲击手机键盘。如果有了名片识别,就可以扭转这种现象,轻松完成名片识别,录入名片信息。

名片识别技术介绍

名片识别采用OCR技术,将名片上的文字转化识别为可进行编辑处理的相应文字,并可对识别后的名片信息进行分类管理。它支持通过拍照识别、二维码识别、导入识别方式对名片信息进行采集,用户只需将名片放在手机拍摄的预览框内,便可自动完成对名片识别的一系列操作,非常方便。
OCR技术进行名片识别(集成攻略并附有SDK包)

OCR技术进行名片识别(集成攻略并附有SDK包)

开发前准备步骤

在开始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文件

OCR技术进行名片识别(集成攻略并附有SDK包)

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 (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { requestPermissions(new String[]{Manifest.permission.CAMERA}, CAMERA_REQUEST); 

开发重点步骤

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,展示名片识别的功能效果
OCR技术进行名片识别(集成攻略并附有SDK包)
如果你对实现方式感兴趣,可以在Github上下载源码:https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides-V5/text-recognition-0000001050040053-V5#ZH-CN_TOPIC_0000001050750207__section16220018134717

本文地址:https://blog.csdn.net/weixin_47546655/article/details/108767741