微信小程序基于万象优图实现图片 OCR

随着小程序开放越来越多的类目,越来越多的企业将各种各样的需求开发成小程序,而基于图像识别的名片识别、身份证识别或者普通文字的 OCR 也越来越多的被应用于各种场景中,基于此,腾讯云微信小程序解决方案团队将腾讯万象优图的身份证识别和文字印刷体 OCR 封装进 wafer2-node-sdk 中,使得用户可以快速调用使用图片识别。

现在,通过图像识别 Demo,一起来完成身份证和印刷体识别的快速开发吧!

首先需要到腾讯云的万象优图控制台开通万象优图功能,并且创建 Bucket。创建的 Bucket 最好为公有读私有写的权限。

以下文档基于图像识别 Demo 进行介绍,目前图像识别接口只有 Node.js SDK 提供。

打开server/config.js,添加上qcloudAppIdqcloudSecretIdqcloudSecretKey三个配置项,并在代码目录中打开 CMD,运行如下代码:

cd server && npm i

安装完成依赖,选择小程序开发者工具右上角的【腾讯云】按钮,点击【上传测试环境】上传代码到测试环境中,一键部署程序。你也可以自行部署代码,部署过程同《自行部署 Node.js Demo》,这里不再介绍。

查阅 Wafer Node.js SDK 的 API 文档,可以看到 SDK 提供了两个万象优图接口,分别是身份证识别接口和印刷体 OCR 接口。

身份证识别

直接调用 ci.idCardIdentify 即可快速识别身份证,根据文档,该接口的第一个参数为要识别的图片地址。我们可以提前使用 SDK 的图片上传功能,将图片上传到 COS 上,获取图片的地址(Bucket 必须为公有读私有写)之后,再调用身份证识别接口。接口的第二个参数为万象优图的 Bucket,第三个参数为要识别的身份证的正面还是反面(0 代表带头像那面,1 代表国徽那面)

const data = await uploader(ctx.req);
const { data: identifyResult } = await ci.idCardIdentify([data.imgUrl], 'qcloudtest', 0);

同时,身份证识别接口支持批量识别,你可以提供多个图片地址进行识别。

const { data: identifyResult } = await ci.idCardIdentify(['https://xxx.img.cn/xxx1.jpg', 'https://xxx.img.cn/xxx2.jpg'], 'qcloudtest', 0);

识别的结果直接透传万象优图接口返回值,具体数据结构可以参考:https://cloud.tencent.com/document/product/460/6895

普通印刷体识别

调用 ci.ocr 即可识别印刷体文字,接口参数与身份证识别类似,不过需要注意的是 OCR 接口仅支持对单个图片的识别,一次只能识别一张图片。

const data = await uploader(ctx.req);
const { data: ocrResult } = await ci.ocr(data.imgUrl, 'qcloudtest', 0);

识别的结果直接透传万象优图接口返回值,具体数据结构可以参考:https://cloud.tencent.com/document/product/460/9519

以上就是我们使用 SDK 如何快速开发身份证和图像识别,你也可以使用我们的 Demo 体验一下身份证识别和印刷体识别。

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

5 条评论
登录 后参与评论

相关文章

来自专栏数据科学与人工智能

【数据可视化】让效率“爆表”的49个数据可视化工具

工欲善其事,必先利其器。好的工具可以大大提升你的工作效率,并获得身边人的羡慕和赞赏。今天,我们就来向小伙伴们分享一大波非常实用的工具,武装你的大脑。 ▲图表类...

2757
来自专栏iOS技术

iOS图片浏览器(功能强大/性能优越)

支持 cocopods,功能完善,性能不错,代码质量尚可,喜欢的朋友可以给个小星星?。

3237
来自专栏大数据钻研

编写难于测试的代码的5种方式

什么是弹框? 弹框是一种交互方式,用作提醒,做决定或者解决某个任务。弹框一般包含一个蒙版,一个主体及一个关闭入口,常见于网页及移动端。其好处是让用户更聚焦,且不...

3308
来自专栏前端萌媛的成长之路

前端语义化

1404
来自专栏腾讯防水墙

以变制变 - 前端动态化代码保护方案探索

本文分享了腾讯防水墙团队关于机器对抗的动态化思路,希望能抛砖引玉,给现在正在做人机对抗的团队一些启发。

54718
来自专栏非著名程序员

AndroidTShare Weekly No.9

本周热点开源项目 夜间模式渐变实现 这个实现了夜间模式渐变效果了,过渡的非常自然。 效果图如下: ? 作者:chkfung 项目开源地址:https://gi...

1766
来自专栏编程微刊

【前端图表】echarts散点图鼠标划过散点显示信息

1413
来自专栏FreeBuf

那些年绕过的反爬手段

笔者第一份工作就是以java工程师的名义写爬虫,不得不说第一份工作很重要啊,现在除了爬虫不会干别的,到现在已经干了近5年了,期间经历了不少与反爬策略的斗争。最近...

1044
来自专栏java一日一条

程序员应该掌握的10个搜索技巧

在今天,用户可以通过搜索引擎轻松找出自己想要的信息,但还是难以避免结果不尽如人意的情况。实际上,用户仅需掌握几个常用技巧即可轻松化解这种尴尬。下面介绍 10 个...

402
来自专栏HTML5学堂

UC浏览器皮肤的那个坑

HTML5学堂:在之前的一款游戏开发当中,使用小米的UC浏览器查看移动端样式,出现了“不可思议”的现象。明明设置了深红色的文字,硬生生的变成了绿色,让小编大呼“...

3956

扫码关注云+社区