百度AI接口---身份证识别Demo
题记:自己是做java web的,但是本人以前接触并学习很多图像的知识,所以对图像很敏感。下面以百度的一个接口,实现身份证识别案例
1、需要百度开发者AppID、SecretKey 、API Key。
先注册,然后进入https://console.bce.baidu.com/ai/?fromai=1#/ai/ocr/overview/index,这个网址,选择文字识别,创建应用,获取AppID、SecretKey 、API Key。
2、创建一个maven项目,pom.xml如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.fx</groupId>
<artifactId>demo</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>demo Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency> <dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency> <!-- 百度文字识别SDK -->
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.6.1</version>
</dependency>
</dependencies>
<build>
<finalName>demo</finalName>
</build>
</project>
3、创建BaiduConfig.java、demo.java、Utils.java
package com.fx.config;
public class BaiduConfig {
public static final String APP_ID = "***";//自己的
public static final String API_KEY = "****";//自己的
public static final String SECRET_KEY = "***";//自己的 }
package com.fx.demo; import java.util.HashMap;
import org.json.JSONObject;
import com.baidu.aip.ocr.AipOcr;
import com.fx.config.BaiduConfig;
import com.fx.utils.Utils; public class demo { //设置APPID/AK/SK
public static void main(String[] args) {
IDCardRecogize(); }
public static void IDCardRecogize() {
AipOcr client = new AipOcr(BaiduConfig.APP_ID, BaiduConfig.API_KEY, BaiduConfig.SECRET_KEY);
// 传入可选参数调用接口
HashMap<String, String> options = new HashMap<String, String>();
options.put("detect_direction", "true");
options.put("detect_risk", "false");
//背面照
//String idCardSide = "back"; //前面照
String idCardSide = "front"; // 参数为本地图片路径
//String image = "D:\\back.jpg";
//String image = "D:\\front.jpg";
String image = "F:\\picture\\shenfenzheng.jpg";//身份证照片路径
JSONObject res = client.idcard(image, idCardSide, options);
System.out.println(res.toString(2)); // 参数为本地图片二进制数组
byte[] file = Utils.readImageFile(image);
res = client.idcard(file, idCardSide, options);
System.out.println(res.toString(2)); } }
package com.fx.utils; import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException; import javax.imageio.stream.FileImageInputStream; public class Utils { /**
将图像转为二进制数组
* @param path
* @return
*/
public static byte[] readImageFile(String path){
byte[] data = null;
FileImageInputStream input = null;
try {
input = new FileImageInputStream(new File(path));
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int numBytesRead = 0;
while ((numBytesRead = input.read(buf)) != -1) {
output.write(buf, 0, numBytesRead);
}
data = output.toByteArray();
output.close();
input.close();
}
catch (FileNotFoundException ex1) {
ex1.printStackTrace();
}
catch (IOException ex1) {
ex1.printStackTrace();
}
return data;
}
}
这样就可以了,直接运行吧!不懂的或者报错的,可以留言........。
百度AI接口---身份证识别Demo的更多相关文章
- 单一功能学习——百度AI之身份证识别
以下内容基本是从官方接口文档复制过来的,附带自己封装的代码 时间:2018年4月4日 一.导入工具包 使用maven依赖: <dependency> <groupId>com. ...
- 微信小程序接入百度OCR(身份证识别)
微信小程序接入百度OCR(身份证识别) 1.接口描述 支持对二代居民身份证正反面所有8个字段进行结构化识别,包括姓名.性别.民族.出生日期.住址.身份证号.签发机关.有效期限,识别准确率超过99%:同 ...
- selenium自动化 | 借助百度AI开放平台识别验证码登录职教云
#通过借助百度AI开放平台识别验证码登录职教云 from PIL import Image from aip import AipOcr import unittest # driver.get(zj ...
- 百度AI身份证识别demo,使用js提交图片数据
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- WebApiClientCore简约调用百度AI接口
WebApiClientCore WebApiClient.JIT/AOT的netcore版本,集高性能高可扩展性于一体的声明式http客户端库,特别适用于微服务的restful资源请求,也适用于各种 ...
- 基于百度AI实现 车牌识别
前言 目前百度的AI接口相对完善,对于文字识别类的操作还需要开发者一一去尝试,去评估这效果到底是怎么的. 文字识别的接口相对简单,官方提供的SDK也集成很好,笔者只是在这上面做了一些前期性的功能数据校 ...
- [初识]使用百度AI接口,图灵机器人实现简单语音对话
一.准备 1.百度ai开放平台提供了优质的接口资源https://ai.baidu.com/ (基本免费) 2.在语音识别的接口中, 对中文来说, 讯飞的接口是很好的选择https://www.xf ...
- 使用百度ai接口加图灵机器人完成简单web版语音对话
app文件 from flask import Flask, request, render_template, jsonify, send_file from uuid import uuid4 i ...
- 利用百度AI OCR图片识别,Java实现PDF中的图片转换成文字
序言:我们在读一些PDF版书籍的时候,如果PDF中不是图片,做起读书笔记的还好:如果PDF中的是图片的话,根本无法编辑,做起笔记来,还是很痛苦的.我是遇到过了.我们搞技术的,当然得自己学着解决现在的痛 ...
随机推荐
- 第十三章·Kibana深入-使用地图统计客户端IP
地址库 在ELK中,我们可以使用地址库,来对IP进行分析,对日志进行分析,在ELKstack中只有Logstash可以做到,但是出图,是Kibana来出的,所以我们首先需要下载地址库数据文件,然后对L ...
- 四、Attribute(2)授权角色过滤器
一.授权过滤器 1.新建一个mvc 项目 2.首先创建一个过滤器 MyAuthorizeAttribute 继承AuthorizeAttribute,并重写 AuthorizeCore public ...
- Linux工具之vmstat
vmstat (virtual memory statistics,虚拟内存统计)的缩写.可以对操作系统的虚拟内存.进程.CPU活动进行监控. 1.命令格式 vmstat [-a] ...
- unix/linux静态库简介
一.创建静态库: 1.写源程序 2.编译源程序,生成.o文件 3.使用ar打包工具生成静态库 ar -r libxxx.a xxx1.o xxx2.o.../*.o(通配符方式) 4.提供头文件,方便 ...
- 访问kubernetes api
kubernetes api介绍 作用: 将各种资源对象的数据都通过该api接口被提交到后端的持久化存储etcd中; 一个api的顶层元素由kind丶apiVersion丶metadata丶spec和 ...
- openGL中的gl,glu,glut
OpenGL函数库相关的API有核心库(gl).实用库(glu).辅助库(aux).实用工具库(glut).窗口库(glx.agl.wgl)和扩展函数库等.gl是核心,glu是对gl的部分封装.glx ...
- dockerfile 与 docker-compose的区别
https://blog.csdn.net/londa/article/details/91815208 先简单理解 docker 的使用过程,它分为镜像构建与容器启动. 镜像构建:即创建一个镜像,它 ...
- fullpage.js最后一屏不满一屏时,滚动方式
这两天公司网页改版用到fullpage.js这个滚屏插件,页面内容整屏的滚动,不成问题,各种设置在网上也都有文档.而我遇到的问题就是,页面内容不满屏的时候,和上面的内容放一块就太挤,单独放一屏就太空, ...
- 什么是JWT?Token与Session的区别?
什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点 ...
- 题解 [SCOI2007]修车
题面 解析 这题要拆点.. 首先,证明一个式子: 设修理员M修了N辆车, 且修每辆车的时间为W1,W2....WN. 那么,这个修理员一共花的时间就为:W1*N+W2*(N-1)+...+WN*1. ...