Day2笔记——身份证识别系统搭建

简介: 建立Spring boot框架,通过调用阿里云的SDK接口输出身份证的姓名、性别、民族、身份证号、出生日期、地址信息、有效起始时间、签发机关信息,同时可输出身份证区域位置和人脸位置信息。

一、获取OCR的SDK的Maven坐标(Java)
进入https://vision.aliyun.com/
通过文字识别中查看产品文档,得知SDK支持包括Java、Java(本地接入)、Python、Node.js、PHP四种常用语言。通过检索Java(支持本地上传)的SDK,获取OCR的Maven代码(version=1.0.3):

<artifactId>ocr</artifactId>
<version>1.0.3</version>

二、框架分析
建立Springboot项目,Application为启动类;Controller为控制器层,负责模板的渲染和路由等;Ocrservice负责通过SDK调用视觉识别的能力。上传表单只允许后缀为.jpg,.jpeg,.png的文件,且不为空。
输入限制:
·图片格式:JPEG、JPG、PNG、BMP、GIF。
·图像大小:图像大小不超过3M。
·图像分辨率:不限制图片分辨率,但图片分辨率太高可能会导致API识别超时,超时时间为5秒。
·URL地址中不能包含中文字符。
三、示例代码

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import java.util.*;
import com.aliyuncs.ocr.model.v20191230.*;

public class RecognizeIdentityCard {

public static void main(String[] args) {
    DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "<accessKeyId>", "<accessSecret>");
    IAcsClient client = new DefaultAcsClient(profile);

    RecognizeIdentityCardRequest request = new RecognizeIdentityCardRequest();
    request.setRegionId("cn-shanghai");
    request.setSide("face");

    try {
        RecognizeIdentityCardResponse response = client.getAcsResponse(request);
        System.out.println(new Gson().toJson(response));
    } catch (ServerException e) {
        e.printStackTrace();
    } catch (ClientException e) {
        System.out.println("ErrCode:" + e.getErrCode());
        System.out.println("ErrMsg:" + e.getErrMsg());
        System.out.println("RequestId:" + e.getRequestId());
    }

}
}

四、举例示范
image.png
image.png

五、代码展示:

五、总结
第二天的学习感觉很跨越,要通过Springboot框架开始调用SDK,进度有点跳跃,需要查阅资料,更近一步理解视频讲的专有术语和名词。

相关文章
|
小程序 Java API
【Java】Spring boot快速上手(三)前后端分离实现小程序登录(接口篇)
【Java】Spring boot快速上手(三)前后端分离实现小程序登录(接口篇)
641 0
|
Java 开发工具 Spring
Spring Boot 接入支付宝,实战来了!
支付宝推出了新的转账接口alipay.fund.trans.uni.transfer(升级后安全性更高,功能更加强大) ,老转账接口alipay.fund.trans.toaccount.transfer将不再维护,新老接口的一个区别就是新接口采用的证书验签方式。
Spring Boot 接入支付宝,实战来了!
|
JavaScript 前端开发
开发和内网部署正常,反向代理后出现404和图片加载失败的解决方案;部署到公网后报错404;部署到公网后图片加载出错;动态渲染获取图片失败
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
Java API Maven
SpringBoot+SeetaFace6搭建人脸识别平台
【10月更文挑战第8天】以下是使用Spring Boot和SeetaFace6搭建人脸识别平台的步骤:首先安装Java和Maven,下载SeetaFace6库并添加依赖;接着创建Spring Boot项目并在`pom.xml`中添加必要依赖;然后配置SeetaFace6参数;实现人脸识别服务类与控制器类;最后使用工具如Postman测试API接口及识别结果。示例代码展示了如何接收图像数据并进行人脸检测。可根据具体需求扩展更多功能,如用户管理和历史记录等。
1477 1
|
网络协议 网络性能优化 数据处理
深入解析:TCP与UDP的核心技术差异
在网络通信的世界里,TCP(传输控制协议)和UDP(用户数据报协议)是两种核心的传输层协议,它们在确保数据传输的可靠性、效率和实时性方面扮演着不同的角色。本文将深入探讨这两种协议的技术差异,并探讨它们在不同应用场景下的适用性。
701 4
|
JavaScript 前端开发
在 JeecgBoot 项目中基于 Vue 3 配置多页面入口
本文介绍了在JeecgBoot Vue 3项目中配置多页面入口的步骤。首先,确保下载了项目源码,然后在项目根目录创建`home.html`作为新页面模板。接着,在`src`下建立`multiPage/home`目录,包含`App.vue`和`main.ts`文件以构建新页面。最后,更新`build/vite/plugin/html.ts`中的`htmlPlugin`以支持多页面配置。完成这些步骤后,项目将具备管理多个独立页面的能力。
498 4
|
人工智能 自然语言处理 安全
黑客工具WormGPT:生成式AI的黑暗双胞胎
【2月更文挑战第12天】黑客工具WormGPT:生成式AI的黑暗双胞胎
920 5
黑客工具WormGPT:生成式AI的黑暗双胞胎
|
JavaScript 前端开发 Java
基于 SpringBoot + Vue + ElementUI 的人力资源管理系统(附源码)
技术栈 1、前端 Vue、Axios、ElementUI、Vue-Router、Vuex、ECharts 2、后端 Spring Boot、JWT、MyBatis-Plus、MySQL、Hutool
|
前端开发 JavaScript
【Vue】前端向后端传值,将数组转为字符串String类型— join()方法
【Vue】前端向后端传值,将数组转为字符串String类型— join()方法
2220 0
【Vue】前端向后端传值,将数组转为字符串String类型— join()方法