前言

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

名片识别技术介绍

名片识别采用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-dataandroid: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>() {@Overridepublic void onSuccess(MLText text) {// Recognition success.}
}).addOnFailureListener(new OnFailureListener() {@Overridepublic 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

名片识别,史上最简单的集成攻略来啦!附有SDK包相关推荐

  1. 史上最简单笔记本选购攻略(给对笔记本配置完全不懂的小白,建议收藏)

    引言:这是我偶然间找到的一篇文章,面向对配置参数完全不懂的小白,高手请自动忽略哈 参考链接:http://www.360doc.com/content/19/0122/12/60764982_8105 ...

  2. SQL初学、精通者必看:10个学生成绩查询史上最强技巧全攻略

    SQL初学.精通者必看:10个学生成绩查询史上最强技巧全攻略 本文提供了一个含有学生.成绩.课程和教师信息的完整数据库,并为读者提供了 SQL 查询练习题,还包含了练习的答案以及解析.这些题目旨在帮助 ...

  3. 失物招领小程序_@全体川农er:川农史上最全失物招领攻略!

    你是否还在偌大的校园里 苦苦寻觅自己丢失的 一卡通.钥匙.U盘 ...... 从今天起别再焦头烂额啦 贴心的融融为大家带来了 川农史上最全失物招领攻略 川农er快叫上小伙伴来看看吧 学校这些失物招领宝 ...

  4. 酷开系统和鸿蒙,酷开电视史上最强刷机攻略

    原标题:酷开电视史上最强刷机攻略 史上最全的酷开智能电视刷机功率,酷粉们千万别错过!什么是"刷机"?就是重新安装智能电视内置操作系统,今天小编就为广大的酷开智能电视粉丝们汇总了一批 ...

  5. 一文搞定Linux环境下线程编程,这些东西老师也不会教你。(史上最详细的线程攻略)

    一.线程的概念 1.1 什么是线程 线程是一个实体,是CPU调度和分派的基本单元,有时我们也可以称它为轻量级的进程.每个线程都包含有表示执行环境所必须的信息,其中包括标识线程 的线程ID.一组寄存器值 ...

  6. 业务流程图6个图例_史上最全PID图例攻略!

    一键获取技术资料 <现代煤化工政策汇编及解读>2020版.<煤制烯烃产业研究报告>2020版.<煤制油产业研究报告>2020版.<煤制天然气产业研究报告> ...

  7. Android史上最强分割线全攻略

    借鉴自 https://blog.csdn.net/megatronkings/article/details/52156312 说实话,分割线这个东西,真的太难太难了!!! 难在何处?难在用最对的方 ...

  8. 史上最全的定位攻略,您应该知道的定位方法。

    0x00 前言:以下讲到的定位方法较多,文章字数较多,请耐心观看. 如有遇到身体不适应,请稍作休息.之后再度观看   0x01 [QQ定位] 1.QQ软件定位 第一种使用QQ2009(此方法不常用)[ ...

  9. 带你飞过PMP——史上最全PMP备考攻略

    作为一个考过的人,我想有必要给想要考PMP的小伙伴们学习方法和一些建议,拿证不难,只要你肯学,有系统的学习方法!!所以我整理了我自己的一些学习方法,希望对你有所帮助哟!! 带你飞过PMP-备考上篇·乖 ...

最新文章

  1. 楷书书法规则_硬笔书法入门学习“三步法”,让练字不再难
  2. 根据参数显示类别(三级联动,需要JSON数据)
  3. 推荐:.Net 5开源免费的内容管理系统
  4. mkv210_image.c详解
  5. pytorch查缺补漏
  6. oralce修改密码教程
  7. Spring Boot Mybatis简单使用
  8. 浅入浅出数据结构(18)——希尔排序
  9. Spring2.5事务配置的5种方法
  10. linux如何查看tomcat端口号,如何在Linux中修改tomcat端口号
  11. 大数据分析平台的功能
  12. hdu 1995 汉诺塔
  13. C# Panel 双缓存;图片闪烁处理方式,视频闪烁处理方式
  14. Ubuntu安装Microsoft Windows Fonts微软字体库
  15. linux中断子系统(基于imx6ul arm32分析)
  16. HC-SR501人体红外感应模块程序
  17. 一个人竟然撸了一个网易云音乐云村
  18. 豆瓣爬虫(从剧名获取ID)
  19. 江民KV2008离线包和安装包下载 2007-12-24
  20. [CTF]-反弹shell[2]

热门文章

  1. android开发常用工具类、高仿客户端、附近厕所、验证码助手、相机图片处理等源码
  2. 超好用的免费PDF转换器,各种互相转换,功能齐全到你不敢相信!
  3. Mac下使用imagemagick将PDF转长图
  4. python基础 日常总结——列表(二)
  5. 测试一个教室和一个椅子
  6. 想把手机内容投屏到电脑 并且可以用电脑控制手机怎么办,很简单
  7. Python札记 -- 切片赋值
  8. 实现一个简单的抽奖系统
  9. android获取电池信息;android获取电池容量、技术、电压、电量、温度等信息
  10. Win10系统,如何使用系统自带截图工具 “PrintScreen键“