自己是做Java开发,但是本人以前接触并学习很多图像的知识,所以对图像很敏感。下面以百度的一个接口,实现身份证识别案例(一颗算法开发的心在不断的跳动,哈哈!!!)

身份证识别在很多场景都有应用,如:门禁卡,使用身份证扫描识别;App注册扫描认证等。现在我将我的方法分享给大家,希望对大家有所帮助,谢谢!

1、需要百度开发者AppID、SecretKey 、API Key。

先注册,然后进入
https://console.bce.baidu.com/ai/?fromai=1#/ai/ocr/overview/index,这个网址,选择文字识别,创建应用,获取AppID、SecretKey 、API Key。

2、创建一个maven项目,在pom中添加相应的依赖jar

<!-- 百度文字识别SDK --><dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</artifactId><version>4.6.1</version></dependency>

3、创建两个配置工具类

public class BaiduConfig {public static final String APP_ID = "***";//自己的public static final String API_KEY = "****";//自己的public static final String SECRET_KEY = "***";//自己的}
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;}

4、执行类IDCardRecogizeController

package com.toutiao.yangwj.controller;import com.baidu.aip.ocr.AipOcr;
import com.toutiao.yangwj.config.BaiduConfig;
import com.toutiao.yangwj.utils.ImageUtil;
import org.json.JSONObject;import java.util.HashMap;/*** @author yangwj* @date 2020/5/23 14:49*/
public class IDCardRecogizeController {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.png";JSONObject res = client.idcard(image, idCardSide, options);System.out.println(res.toString(2));// 参数为本地图片二进制数组byte[] file = ImageUtil.readImageFile(image);res = client.idcard(file, idCardSide, options);System.out.println(res.toString(2));}}

5、测试效果

Java提取身份证照片数据,so easy相关推荐

  1. 用java根据身份证号提取性别和年龄

    在 Java 中,可以使用以下步骤来提取身份证号中的性别和年龄信息: 使用正则表达式验证身份证号的格式是否正确. 如果身份证号的格式正确,则可以使用截取字符串的方法来提取出生日期信息.身份证号中的出生 ...

  2. Java实现身份证识别注册

    博主在开发项目时,需要使用Java完成身份证识别功能,如图所示: 后来,便采取了百度识别接口中的身份证识别技术,即通过该接口,实现识别身份证中的信息.下面是实现步骤: 首先,需要去百度平台开通百度身份 ...

  3. 雅客EXCEL(5)-tab键、同组数据录入、提取重复值、提取身份证号码的出生日期

    1.使用Tab键进行移动 使用TAB移动:写姓名.地址.电话号码.身份证号码,这四个栏目,根据这四个栏目填充数据,如果数据写到最后了,按下enter键,可以返回下一行的第一个,极其提高效率. 2.同组 ...

  4. java验证身份证号码是否有效源代码

    转载自   java验证身份证号码是否有效源代码 1.描述 用java语言判断身份证号码是否有效,地区码.出身年月.校验码等验证算法 2.源代码 package test; import java.t ...

  5. 《Python自动化》学习笔记:百度云智能实现提取身份证信息

    问题 由于最近想搞深度学习,和AI这块,计算机算力不够.而且最近经常会碰到一些要用很棘手的算法求解复杂模型的问题. 由于我只对问题的结果有兴趣,而对具体的实现过程不在意,我注意到百度智能云有许多的应用 ...

  6. 利用Java进行身份证正反面信息识别

    利用Java进行身份证正反面信息识别 1.百度授权信息准备 首先你得在百度AI开放平台上面注册一个账号,或者已经有百度账号了,网址是:https://ai.baidu.com/,如下图所示: 然后点击 ...

  7. java根据身份证号码得到生日和性别

    java根据身份证号码得到生日和性别 IDCards工具类 执行结果 IDCards工具类 package com.liantuo.finance.utils;//身份证工具类 public clas ...

  8. uniapp:使用百度API提取身份证信息(微信小程序适用)

    首先,在百度申请apiKey和SecretKey,参考官网. https://ai.baidu.com/ai-doc/OCR/dk3iqnq51 想要提取身份证信息,一共需要完成三个步骤: 1.使用a ...

  9. JAVA 根据身份证获取年龄

    JAVA 根据身份证获取年龄 这里我选用了一条19900407的, 今天的日期是2021/04/10 显示的年龄为31岁. private static int getAge(String idCar ...

最新文章

  1. Nacos 1.3.0 发布,一个修炼内功的版本:全新内核构建!
  2. 开发日记-20190827 关键词 计算机网络
  3. 好用的数学公式(持续更新中)
  4. [置顶] Android的IPC访问控制设计与实现
  5. oracle 段空间收缩,Oracle10g用Shrink Space收缩Oracle数据段
  6. Mysql Oracle Tidb对空值的处理
  7. 敏捷开发般若敏捷系列之六:如何推广敏捷(下)(以无我之心,行无住之法)...
  8. [SCOI2005][BZOJ 1084]最大子矩阵
  9. 深入了解mysql 5.5分区功能增强_深入了解MySQL 5.5分区功能增强
  10. 电子书下载:深入解析Windows操作系统第6版 Windows Internals 6th Part1, Part2
  11. HPE server 如何利用SPP包升级BIOS方法合集
  12. python注册大漠插件,大漠插件安装包
  13. BUUCTF WEB Easy Calc
  14. 八月暑期福利,10本Python热门书籍免费送!
  15. 黑马程序员—String类常用方法
  16. Mockito verify Junit5集成 Mockito
  17. 深度学习:交叉验证(Cross Validation)
  18. python redis缓存原理_python笔记-12 redis缓存
  19. 1994年图灵奖--爱德华·费根鲍姆和劳伊·雷迪简介
  20. 企业(公司)宣传片制作流程(上)

热门文章

  1. 【已解决】导入tensorflow报错/python已停止工作/The kernel appears to have died
  2. 数据结构入门6-2(图 - 图的应用)
  3. centos7密码正确登录失败
  4. 《菜鸟教程》之基础教程
  5. 头哥实践教学平台 CC++程序设计(计算机程序设计)基本输入输出
  6. 各种艺术字、图片在线制作
  7. 讯飞语音转写.NET版本
  8. 樱花落(python)
  9. VBA 汇总指定文件夹下的Excel文件数据
  10. 【WPF】后台切换前台图片