代码先锋网 代码片段及技术文章聚合

baidu-aip-SDK node.js 身份证识别

技术标签: 前端

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

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

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


 

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

1.node

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

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

1117600-20180713153659608-245112040.png

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

1117600-20180713153846720-1633687461.png

2.项目搭建

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

  1117600-20180713154100992-1156372177.png

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

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

1117600-20180713154349644-531579866.png

输入 npm install baidu-aip-sdk

1117600-20180713155006676-1425542867.png

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

1117600-20180713155119231-1698508859.png

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

1117600-20180713155211150-455391740.png

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

3.功能代码

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

1117600-20180713155412503-1218475596.png

这个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);
});

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

1117600-20180713160548066-1927942181.png

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

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

4.调用

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

1117600-20180713160847170-1054459929.png

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


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

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

  以上纯属个人见解与经验,不喜勿喷,谢谢!

  

 

 

 

 

 

 

 

 

  

版权声明:本文为u011927449原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011927449/article/details/106047964

智能推荐

js-身份证识别性别和出生日期

***certNo:身份证号 返回值:xxxx-xx-xx/男...

百度AI身份证识别demo,使用js提交图片数据

只需要修改文中标红的两处地方就可以了。 如果你的需求是在识别的时候,还需要保存下来身份证,那么我建议不要在前端去识别了。直接把图片上传到后端,再由后端调取百度接口去识别。...

身份证识别

一.图像处理 灰度化图像。 二值化图像。 利用 AdaptiveThresholdType 全局化阈值,blockSize = 55时,效果最好。 二、身份证号区域提取 扩选图像黑色像素区域,形成连通区域。  提取轮廓 轮廓筛选,提取身份证矩形区域。身份证号的宽高比约为8,将比值为7~9的轮廓保留,并绘制矩形...

身份证识别

身份证识别技术参数 支持平台 Android2.3以上、iOS6.0以上 支持二次开发 提供Android开发JAR包,iOS平台.a静态库开发包 身份证识别模式 文通首创视频预览模式 支持证件种类 二代身份证、行驶证、驾驶证、护照、港澳通行证、台湾通行证、港澳回乡证、台胞证、中国签证 授权方式 项目授权、时间授权、版本授权、按终端数量授权 接口开发测试 证件识别典型应用...

身份证识别

身份证识别 身份证识别host、path、appKey、appSecret 发送请求 Request Response 通用常量 常用HTTP Content-Type常量 HTTP头常量 HTTP方法常量 Http请求方法 身份证识别返回参数 身份证识别工具类...

猜你喜欢

js 验证身份证号

     ...

js 验证身份证与邮箱

javascript身份证号验证 正则 验证邮箱 Js代码...

Android 使用Lottie的三个小技巧

Android 使用Lottie的三个小技巧 Shawn 文章目录 Android 使用Lottie的三个小技巧 I 开启硬件加速 II 通过添加AnimatorListener来控制动画行为 III 通过设置播放速度来实现动画倒放 I 开启硬件加速 开启硬件加速是个提升lottie动画表现效果的一个好办法,在我的老手机上,不开硬件加速就跟幻灯片一样. II 通过添加AnimatorListene...