这篇文章主要介绍了关于通过node.js来调取baidu-aip-SDK实现身份证识别的功能,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

最近项目中客户需要实现身份证识别功能,合理计划了之后决定使用百度ai的身份证识别。

身份证识别是文字识别的一种,类似的功能有很多比如驾驶证识别等等,原理都是相同的。

对于前端初学者来说,如果要实现这种功能靠页面,js是实现不了的,可以确定地说就是让后台配合实现。实现过程是上传一张图片给后台,后台使用java,php等服务端语言来调取百度ai的sdk,获取到的参数再返回到前台页面来展示。这个接口的调用必须是服务端的,前端如果想实现,只能通过node.js来实现。

那么下面就具体说明一下整个流程:

1.node

首先需要对node进行下载安装,node的安装教程在官网或者菜鸟教程中有明确的实例。

安装之后,在cmd命令行中输入 node -v,如果返回版本号,证明安装成功。

同样在命令行中输入 npm -v,可以查看cmd版本,现在node集成cmd,如果照着教程来安装,node成功npm应该是成功的。

2.项目搭建

先找到项目根目录或者新建一个文件夹作为根目录

安装百度的组件有两种方式,一种是通过去百度ai下载baidu-aip-SDK,另一种是通过命令行直接安装baidu-aip-SDK的包,这里一切从简,通过命令行安装:

在该目录下运行cmd命令行,如果对命令行操作不是太好的童鞋,可以在当前文件夹 Shift+右键 右键菜单中就会增加在此处打开命令窗口的选项

输入 npm install baidu-aip-sdk

等候安装完成之后目录中会新增这样的一个文件夹和一个.json格式文件

可以打开node_modules文件夹中,确认是否有baidu-aip-sdk文件夹

这样的话,功能就算是搭建好了。

3.功能代码

新建一个js文件在根目录下,如图

这个js就是图像识别的node客户端,用来提供一系列交互方法的地方。

在js中加入如下代码:

var AipOcrClient = require("baidu-aip-sdk").ocr;

// 设置APPID/AK/SK

var APP_ID = "你的 App ID";

var API_KEY = "你的 Api Key";

var SECRET_KEY = "你的 Secret Key";

// 新建一个对象,建议只保存一个对象调用服务接口

var client = new AipOcrClient(APP_ID, API_KEY, SECRET_KEY);

这里的APP ID / Api Key / Secret Key 需要在百度云管理中心去申请 https://cloud.baidu.com/

之后在这个js中继续添加功能代码,我们现在在做的是身份证识别,那么就去将身份证识别的相关代码拷入js中。

var fs = require('fs');

var image = fs.readFileSync("你的身份证路径").toString("base64");

var idCardSide = "front";

// 调用身份证识别

client.idcard(image, idCardSide).then(function(result) {

console.log(JSON.stringify(result));

}).catch(function(err) {

// 如果发生网络错误

console.log(err);

});

将你需要识别的身份证图片放到根目录中,如图

将js中的身份证路径改成图片路径 ,例如

var image = fs.readFileSync("./png1.png").toString("base64");

4.调用

在根目录打开命令行,输入 node start.js

稍等个几秒钟,在命令行中就会返回身份证图片中的各项参数。

好啦,这里只是提供了node调用百度ai,身份证识别的一种思路,在项目实现过程中,如果整个项目并没有使用到node,就交给后端人员实现这个功能,就算用了node,推荐也让后台人员实现...毕竟前端大佬们的时间可是很宝贵的。

百度ai 的功能很强大,基本涵盖了现在市面上所有需求的技术,身份证识别甚至文字识别只是其中一丢丢的小部分,识别功能的原理都是相同的,在熟悉node的前提下,多看看api sdk文档,都能写出来。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

js如何实现扫描身份证识别_通过node.js来调取baidu-aip-SDK实现身份证识别的功能...相关推荐

  1. 注册登录页面代码用js判断是否填入信息_(实战)Node.js 实现抢票小工具amp;短信通知提醒...

    作者:西岚 https://juejin.im/post/5dadd0236fb9a04de04d968e 写在前言 要知道在深圳上班是非常痛苦的事情,特别是我上班的科兴科技园这一块,去的人非常多,每 ...

  2. js获取request中的值_基于node.js的开发框架 — Koa

    一.简介 Koa 基于nodeJs平台的下一代web开发框架,由 Express 幕后的原班人马打造,致力于成为一个更小.更富有表现力.更健壮的 Web 框架.使用 koa 编写 web 应用,通过组 ...

  3. 注册登录页面代码用js判断是否填入信息_(实战)Node.js 实现抢票小工具amp;amp;短信通知提醒...

    作者:西岚 本文经作者 @西岚 授权分享,文末点击阅读原文可跳转原文查看. 写在前言 要知道在深圳上班是非常痛苦的事情,特别是我上班的科兴科技园这一块,去的人非常多,每天上班跟春运一样,如果我能换到以 ...

  4. js 弹出层的点击事件影响到底层的点击事件_聊一聊 Node.js 错误处理

    个人博客:https://blog.skrskrskrskr.com 错误分类 软件程序中,我们可以将错误大致分为外部错误和内部错误两大类. 外部错误是正确编写的程序在运行时产生的错误.它并不是程序本 ...

  5. Node.js Web开发_设置Node.js(1)

    电子书推荐 Multithreaded JavaScript: Concurrency Beyond the Event Loop Computers For Seniors For Dummies, ...

  6. doodoo.js发布1.1.0 -- 中文最佳实践Node.js Web快速开发框架,支持Koa.js, Express.js中间件。包含多项功能改进,及Bug修复。...

    2019独角兽企业重金招聘Python工程师标准>>> doodoo.js发布1.1.0 -- 中文最佳实践Node.js Web快速开发框架,支持Koa.js, Express.j ...

  7. js 转json_2020年了为啥 还要学 Node.js

    前言 前些日子刷知乎看到个 2019 年初的问题 2019年nodejs凉了吗?凉到什么程度了?才看到问题的时候吃了一惊,是不是我在的公司大量使用 Node.js 让我有了幸存者偏差,前端社区已经沧海 ...

  8. Node.js (上)(超级详细的node.js学习笔记 !!!)

    目录 一.初识Node.js与内置模块 1.之前知识回顾(为Node.js理解做铺垫) 1.1浏览器中的js的组成部分 1.2 为什么js可以在浏览器中被执行 1.3 为什么浏览器可以操作Bom和Do ...

  9. android studio使用nodejs本地服务器json数据_使用Node.js的Alexa技巧

    可以使用AlexaLambda函数或RESTAPI端点开发Alexa技能.Lambda函数是Amazon实现AWS中提供的无服务器功能.Amazon建议使用Lambda函数,尽管它们不容易调试.虽然您 ...

最新文章

  1. android设备未指定怎么办,APKpath未指定为模块“示例 – 示例”
  2. Spring MVC + Hibernate JPA + Bootstrap 搭建的博客系统
  3. Gson应用:利用map和list来拼装Json消息
  4. swift获取通讯录
  5. HttpClient异常处理手册
  6. python掷骰子_用于掷骰子的Python程序(2人骰子游戏)
  7. python自定义高阶函数_python基础知识5(集合,高级特性,高阶函数)
  8. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之总线设备驱动模型
  9. toad软件 insert批量操作_AE创建、PR制作,动态字幕跨软件也能批量操作
  10. html表单实现ajax登陆,node.js+jQuery实现用户登录注册AJAX交互
  11. shapenet各类数据(转载)
  12. 您如何合并两个Git存储库?
  13. 杭州恒生数米基金网招聘1-3年本科.NET软件工程师
  14. linux jdk11 64位下载安装
  15. 解决google浏览器自动播放问题,亲测可用!!
  16. Java里面bean是什么意思_bean是什么意思?javaBean是什么?
  17. Ad Mucher最新有效注册,升级方式
  18. Robot Framework(十三):使用RF进行web测试(下)
  19. 平车调整刀片如何调整_最新电脑带刀平车基本故障与维修方法
  20. eos安装区块链开发环境

热门文章

  1. 同事离职后如何把原有的GIT变为自己的GIT
  2. ERP企业资源计划 用python实现制作MPS报表
  3. 云存储——Kanbox
  4. 360 电脑重装系统服务器,360系统重装大师
  5. 苹果闪照如何第二次查看_苹果期货大涨所为何?
  6. C#将数字自动翻译为中文,使用循环迭代的方式
  7. 只会接受信息,但是独立思考能力不强怎么办?
  8. 【唯一】的“万字配图“ | 讲透【链式存储结构】是什么?
  9. windows ccproxy下配置ubuntu代理
  10. 树莓派隐藏任务栏一种方法