OCR身份证识别免费试用,附带Java代码
首先,想要使用ocr识别,是要成为百度云的开发者。
第一步:
成为开发者之后,接下来去管理控制台找到文字识别。
然后在应用列表创建应用:身份证识别获取到对应API Key与Secret Key(重要的一步)。
上面几步操作都是为以下获取Token做的铺垫。
- 获取AccessToken
博主成功案例,图片下方附上url,参数介绍
接口说明
向授权服务地址 https://aip.baidubce.com/oauth/2.0/token 发送请求(推荐使用POST)。
请求URI
POST /oauth/2.0/token
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
grant_type | String | 是 | client_credentials | Query | |
client_id | String | 是 | Va***********uXV4 | Query | |
client_secret | String | 是 | 0r******************pVw2 |
Query |
grant_type填写表格对应的示例值,client_id对应你刚才创建应用里的API Key,client_secret对应Secret Key。
到这里完成重要的一步,获取到自己的Access Token。
身份证识别接口描述:
支持对二代居民身份证正反面所有8个字段进行结构化识别,包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限,识别准确率超过99%;同时支持身份证正面头像检测,并返回头像切片的base64编码及位置信息。
同时,支持对用户上传的身份证图片进行图像质量和风险检测,是否存在正反颠倒、模糊、欠曝、过曝等质量问题,可识别图片是否为复印件或临时身份证,是否被翻拍或编辑,是否存在四角不完整、头像或关键字段被遮挡。
请求URI
POST /rest/2.0/ocr/v1/idcard
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
access_token | String | 是 | 通过API Key和Secret Key获取的access_token。 | 24.6c5e1ff107f0e8bcef8c46d3424a0e78.2592000.1485516651.282335-8574074 | Query |
请求头参数
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
Content-Type | String | 是 | 请求体的编码格式 |
application/x-www-form-urlencoded |
package com.stx.controller;/*** @Author author* @Date 2022/7/11/0011 15:04*/
import com.baidubce.http.ApiExplorerClient;
import com.baidubce.http.HttpMethodName;
import com.baidubce.model.ApiExplorerRequest;
import com.baidubce.model.ApiExplorerResponse;// 身份证识别 示例代码
public class IdCardDemo {public static void main(String[] args) {String path = "https://aip.baidubce.com/rest/2.0/ocr/v1/idcard";ApiExplorerRequest request = new ApiExplorerRequest(HttpMethodName.POST, path);// 设置header参数request.addHeaderParameter("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");// 设置query参数request.addQueryParameter("access_token", "上面获取到的Access Token");// 设置jsonBody参数String jsonBody = "url=https://baidu-ai.bj.bcebos.com/ocr/idcard.jpeg&id_card_side=front";request.setJsonBody(jsonBody);ApiExplorerClient client = new ApiExplorerClient();try {ApiExplorerResponse response = client.sendRequest(request);// 返回结果格式为Json字符串System.out.println(response.getResult());} catch (Exception e) {e.printStackTrace();}}
}
不想写Demo的也可以坐传送门 API Explorer
然后你会发现返回值是error_code:18,error_message:Open api qps request limit reached
看到自己响应结果可以对照下面的错误码,来一一解决。
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
1 | Unknown error | 200 | 服务器内部错误,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队 |
2 | Service temporarily unavailable | 200 | 服务暂不可用,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队 |
3 | Unsupported openapi method | 200 | 调用的API不存在,请检查请求URL后重新尝试,一般为URL中有非英文字符,如"-",可手动输入重试 |
4 | Open api request limit reached | 200 | 集群超限额,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队 |
6 | No permission to access data | 200 | 无权限访问该用户数据,创建应用时未勾选相关文字识别接口,请登录百度云控制台,找到对应的应用,编辑应用,勾选上相关接口后重新调用 |
14 | IAM Certification failed | 200 | IAM鉴权失败,建议用户参照文档自查生成sign的方式是否正确,或换用控制台中ak sk的方式调用 |
17 | Open api daily request limit reached | 200 | 免费测试资源使用完毕,每天请求量超限额,已支持计费的接口,您可以在控制台文字识别服务选择购买相关接口的次数包或开通按量后付费;邀测和未支持计费的接口,您可以在控制台提交工单申请提升限额 |
18 | Open api qps request limit reached | 200 | QPS超限额,免费额度并发限制为2QPS,开通按量后付费或购买次数包后并发限制为10QPS,如您需要更多的并发量,可以选择购买QPS叠加包;邀测和未支持计费的接口,您可以在控制台提交工单申请提升限额 |
19 | Open api total request limit reached | 200 | 请求总量超限额,已支持计费的接口,您可以在控制台文字识别服务选择购买相关接口的次数包或开通按量后付费;邀测和未支持计费的接口,您可以在控制台提交工单申请提升限额 |
100 | Invalid parameter | 200 | 无效的access_token参数,token拉取失败,您可以参考“Access Token获取”文档重新获取 |
110 | Access token invalid or no longer valid | 200 | access_token无效,token有效期为30天,请注意需要定期更换,也可以每次请求都拉取新token |
111 | Access token expired | 200 | access token过期,token有效期为30天,请注意需要定期更换,也可以每次请求都拉取新token |
216100 | invalid param | 200 | 请求中包含非法参数,请检查后重新尝试 |
216101 | not enough param | 200 | 缺少必须的参数,请检查参数是否有遗漏 |
216102 | service not support | 200 | 请求了不支持的服务,请检查调用的url |
216103 | param too long | 200 | 请求中某些参数过长,请检查后重新尝试 |
216110 | appid not exist | 200 | appid不存在,请重新核对信息是否为后台应用列表中的appid |
216200 | empty image | 200 | 图片为空,请检查后重新尝试 |
216201 | image format error | 200 | 上传的图片格式错误,现阶段我们支持的图片格式为:PNG、JPG、JPEG、BMP,请进行转码或更换图片 |
216202 | image size error | 200 | 上传的图片大小错误,现阶段我们支持的图片大小为:base64编码后小于4M,分辨率不高于4096*4096,请重新上传图片 |
216202 | input oversize | 200 | 上传的包体积过大,现阶段不支持 10M 或以上的数据包 |
216630 | recognize error | 200 | 识别错误,请再次请求,请确保图片中包含对应卡证票据 |
216631 | recognize bank card error | 200 | 识别银行卡错误,出现此问题的原因一般为:您上传的图片非银行卡正面,上传了异形卡的图片、上传的银行卡正面图片不完整或模糊 |
216633 | recognize idcard error | 200 | 识别身份证错误,出现此问题的原因一般为:您上传了非身份证图片、上传的身份证图片不完整或模糊 |
216634 | detect error | 200 | 检测错误,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队 |
282000 | internal error | 200 | 服务器内部错误,如果您使用的是高精度接口,报这个错误码的原因可能是您上传的图片中文字过多,识别超时导致的,建议您对图片进行切割后再识别,其他情况请再次请求, 如果持续出现此类错误,请在控制台提交工单联系技术支持团队 |
282003 | missing parameters: {参数名} | 200 | 请求参数缺失 |
282005 | batch processing error | 200 | 处理批量任务时发生部分或全部错误,请根据具体错误码排查 |
282006 | batch task limit reached | 200 | 批量任务处理数量超出限制,请将任务数量减少到10或10以下 |
282100 | image transcode error | 200 | 图片压缩转码错误 |
282102 | target detect error | 200 | 未检测到图片中识别目标,请确保图片中包含对应卡证票据,出现此问题的原因一般为:您上传了非卡证图片、图片不完整或模糊 |
282103 | target recognize error | 200 | 图片目标识别错误,请确保图片中包含对应卡证票据,出现此问题的原因一般为:您上传了非卡证图片、图片不完整或模糊 |
282110 | urls not exit | 200 | URL参数不存在,请核对URL后再次提交 |
282111 | url format illegal | 200 | URL格式非法,请检查url格式是否符合相应接口的入参要求 |
282112 | url download timeout | 200 | url下载超时,请检查url对应的图床/图片无法下载或链路状况不好,或图片大小大于3M,或图片存在防盗链,您可以重新尝试一下,如果多次尝试后仍不行,建议更换图片地址 |
282113 | url response invalid | 200 | URL返回无效参数 |
282114 | url size error | 200 | URL长度超过1024字节或为0 |
282808 | request id: xxxxx not exist | 200 | request id xxxxx 不存在 |
282809 | result type error | 200 | 返回结果请求错误(不属于excel或json) |
282810 | image recognize error | 200 | 图像识别错误,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队 |
我碰到的这个问题就是QPS值并发额度限制了,通俗来讲就是没交钱。
接下来 告诉你个白嫖办法,你就去刚才创建应用获取Key,那一块找到菜单上的概览。
这有一个领取免费资源,足够个人开发者测试用了,记得领完资源刷新一下接口网址,再次发送。 使用Java代码的不需要这步操作。
你会发现成功了,大功告成!完事。
OCR身份证识别免费试用,附带Java代码相关推荐
- 关于调用百度云OCR身份证识别接口,用Java语言,识别结果缺少身份证号码的问题解决
问题描述: 最近项目系统开发,使用到了相关证件的信息提取.识别,由于是学校科研使用,选择了百度云OCR文字识别的API.具体的相关识别身份等证件的代码将在另一篇文章中叙述,最近真的太忙了,草稿箱中还有 ...
- 阿里OCR身份证识别相关信息
阿里OCR身份证识别相关信息 maven <!-- fastjson--> <dependency><groupId>com.alibaba</groupId ...
- 腾讯OCR身份证识别信息
腾讯OCR身份证识别信息 maven <!-- 腾讯身份证识别 --><dependency><groupId>com.qcloud</groupId> ...
- Android Study 玩转百度ocr身份证识别不是梦~
LZ-Says:最近好哥儿们因公来廊坊,在家里可谓夜夜笙歌,喝酒喝的俩眼发懵,最近状态欠佳,导致学习计划一直在滞留,今天通过简短的小例子,重新拾起学习之路,滚蛋吧,懒瘤君~ 前言 Today,由于昨晚 ...
- 国航APP接入百度大脑OCR身份证识别技术,让机票购买更便捷!
价值成果 中国国航APP通过接入百度大脑OCR身份证识别技术,实现了旅客线上自助修正错购机票信息的功能.购票信息错误的旅客只需在中国国航APP上传身份证照片,即可进行购票身份认证,并立即修正错误信息. ...
- springboot 集成 腾讯云ocr身份证识别
//控制层 @GetMapping("/getCertification")@ApiOperation(value = "ocr身份证识别接口 positiveImg:正 ...
- android ocr 身份证识别
ocr opencv 想必做过程图像识别的同学们都对这两个词不陌生吧. ocr (optical character recognition ,光学字符识别) 是指电子设备(例如扫描仪或数码相机)检查 ...
- 阿里云ocr身份证识别接口调用
1.阿里云界面点击搜索ocr,选择文字识别,开通服务,默认已登录阿里云账号 2.选择个人证件识别,身份证识别(每个月赠送200次体验) 3.点击产品文档 4.下拉到最后,选择RecognizeIdca ...
- OCR身份证识别SDK
在很多地方都需要采集身份证信息,身份证识别OCR则能大大简化信息采集录入的过程.传统手动输入不仅慢,而且容易出错,利用OCR识别技术,则能将繁琐变得高效,将人工变得智能. 身份证识别OCR ,有着数十 ...
- 身份证在日常生活重要性 OCR身份证识别的作用
如何能快速识别提取身份证号.姓名呢?结合使用ocr识别技术,一秒提取,不用手工输入: 身份证识别,识别解决方案 身份证识别OCR技术影响识别率的因素有很多:其中重要因素是图片清晰度,决定因素为字符分割 ...
最新文章
- 解决大众点评换设备无法用卷(你本次购买不符合活动规则)的问题
- 大数据时代 我们还有隐私吗?
- ubuntu 安装星际译王词典
- 命令行下载利器- Aria2
- java socket优化_Java Socket编程代码优化
- 华科的计算机和建筑学哪个强,华中科技大学和华南理工大学相比,谁更占优势?看了也许就知道了...
- [20161128]关于Little Enddian.txt
- 01 离散时间信号的时域表示
- symantec BESR 异机恢复
- TCP/IP协议栈 路由器 交换机
- 7z001怎么解压在安卓手机上面_安卓手机用户换iPhone11怎么转移手机便签内容?...
- 【群友问题讨论】java类对象数组一些知识盲区
- Java 模拟新浪登录 2016
- 计算机检索常用中文数据库,常用文献信息数据库检索指南
- Synplify 综合Gtech 网表
- 微软洗牌低代码开发市场,引发软件产业生态变局
- 解决TensorFlow“Your CPU supports instructions TensorFlow binary was not compiled to use : AVX2 FMA”
- 《游梦人·诗的诞生》
- USACO 2020 February Contest, Gold
- 大数据早报:时装设计也用上了人工智能,亚马逊研究出新算法;上海地铁趣味消费数据发布(9.12)