首页 > 其他分享 >身份证OCR识别API

身份证OCR识别API

时间:2024-08-04 21:56:22浏览次数:10  
标签:识别 String API 身份证 OCR com

身份证OCR识别API是一种能够自动识别身份证上文字信息的技术,广泛应用于需要快速录入身份证信息的业务场景中。目前,市场上有多家公司提供这项服务,包括微信、腾讯云、华为云和阿里云等。

微信的身份证OCR识别接口支持小程序调用,能够识别身份证正反面的所有字段,如姓名、性别、民族、出生日期、住址、公民身份证号、签发机关和有效期限等。接口调用凭证为access_token,文件大小限制在2M以内,支持HTTPS调用和云调用两种方式2。

腾讯云提供的身份证识别服务,能够识别身份证正反面所有字段,并且支持多种增值能力,如身份证照片裁剪、人像照片裁剪以及多种告警功能。该服务的识别准确度达到99%以上,并且默认接口请求频率限制为20次/秒4。

华为云的身份证识别服务支持识别身份证图片中的文字内容,并将结果以JSON格式返回。该服务支持多种告警功能,如身份证翻拍、PS、模糊、反光等,并提供校验身份证号等信息的功能。用户可以根据自己的需求选择是否需要这些增值服务5。

阿里云的身份证识别服务支持自动区分身份证正反面,识别少数民族版式、临时身份证、生僻字等,并具备证件风险检测预警能力。该服务还支持图像增强功能,如自动旋转、畸变矫正和模糊图片增强等。用户可以根据自己的需求选择是否需要图案检测和身份证质量检测功能6。

综上所述,不同的云服务提供商都提供了功能丰富、准确度高的身份证OCR识别API,用户可以根据自己的具体需求选择合适的服务。

我们看下Java实现身份证OCR识别API

    //阿里云地址 https://market.aliyun.com/apimarket/detail/cmapi00066594?spm=5176.730005.result.46.64f93524JFQL7Q#sku=yuncode6059400002

	public static void main(String[] args) {
	    String host = "https://kzcardocr.market.alicloudapi.com";
	    String path = "/api-mall/api/idcard/ocr";
	    String method = "POST";
	    String appcode = "你自己的AppCode";
	    Map<String, String> headers = new HashMap<String, String>();
	    //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
	    headers.put("Authorization", "APPCODE " + appcode);
	    //根据API的要求,定义相对应的Content-Type
	    headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	    Map<String, String> querys = new HashMap<String, String>();
	    Map<String, String> bodys = new HashMap<String, String>();
	    bodys.put("image", "image");
	    bodys.put("url", "url");


	    try {
	    	/**
	    	* 重要提示如下:
	    	* HttpUtils请从
	    	* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
	    	* 下载
	    	*
	    	* 相应的依赖请参照
	    	* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
	    	*/
	    	HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
	    	System.out.println(response.toString());
	    	//获取response的body
	    	//System.out.println(EntityUtils.toString(response.getEntity()));
	    } catch (Exception e) {
	    	e.printStackTrace();
	    }
	}

返回的数据

{
    "msg": "成功",
    "success": true,
    "code": 200,
    "data": {
        "result": 0, //0 :识别成功,1:识别失败
        "side": "front", // front:正面,back :反面
        "orderNo": "202304031918463633573",
        "info": {
            "number": "330*********1011", //身份证号
            "address": "浙江省*****651号", //住址
            "month": "8", //出生月份
            "nation": "汉", //民族
            "year": "1981", //出生年份
            "sex": "男", //性别
            "name": "张*江", //姓名
            "day": "16" //出生-日
        }
    }
}

{
    "msg": "成功",
    "success": true,
    "code": 200,
    "data": {
        "orderNo": "202304031918463633574",
        "result": 0, //0 :识别成功,1:识别失败
        "side": "back",// back :反面
        "info": {
            "authority": "上海市公安局**局",//签发机关
            "timelimit": "20220716-20420716"//有效期限
        }
    }
}

标签:识别,String,API,身份证,OCR,com
From: https://blog.csdn.net/hm_cth_lfq/article/details/140912775

相关文章

  • Jenkins API用户认证方式
    1、概述Jenkins的API可以通过用户名+密码或者用户名+Token的方式来进行认证,这篇文章以具体示例来说明具体的使用方式。2、Jenkins环境本文示例基于Jenkins2.452.3版本进行演示,详细的环境构建可参考《Centos7下安装配置最新版本Jenkins(2.452.3)》这篇博文。3、Jenkin......
  • windows C++-通过 C++/WinRT 使用 API(三)
    统一构造在C++/WinRT版本2.0及更高版本中,有一种优化的构造形式可供你使用,它被称作“统一构造”(请参见C++/WinRT2.0中的新增功能和更改)。若要使用统一构造而不是winrt::make,你需要一个激活工厂。要生成激活工厂,一种好的方式是向IDL添加构造函数。//MainPage.idl......
  • windows C++-通过 C++/WinRT 使用 API(二)
    延迟初始化在C++/WinRT中,每个类型都有一个特殊的C++/WinRTstd::nullptr_t构造函数。除了该构造函数,所有其他类型的构造函数(包括默认的构造函数)都会导致系统创建一个支持的Windows运行时对象,并为你提供它的智能指针。因此,该规则适用于使用默认构造函数的任何地方,例如......
  • 深入剖析:Apache Flink的Table API与SQL API之差异
    在当今的大数据处理领域,ApacheFlink以其卓越的流处理能力而广受关注。Flink提供了多种API来满足不同场景下的数据流处理需求,其中TableAPI和SQLAPI是两种非常关键的接口。本文将深入探讨这两种API的特点、使用场景以及它们之间的主要区别,并通过少量示例代码来展示它们的应......
  • webpack HMR API解析
    介绍一下webpackhmr相关的APIwebpack首先将模块变成对象的一个属性,该属性是一个方法,调用它就返回最新的模块。模块的变更就变成了更新这些方法的定义。其次,webpack对于我们代码的import,做了拦截,会变成从它的模块对象里面去读取模块,同时它做了缓存。最后,当模块变化的时候,它会依......
  • SQLite库笔记:API函数编程
    本文主要介绍SQLite库的一些核心API函数,和实现数据库增删查改功能的C语言示例程序代码。目录1.API函数原型1.1sqlite3_open1.2sqlite3_close1.3sqlite3_free1.4sqlite3_errmsg1.5sqlite3_exec1.6sqlite3_get_table1.7sqlite3_free_table2.返回码定义3.示......
  • FastAPI技巧
    文章目录依赖注入路径操作中的标签和摘要后台任务自定义异常处理中间件(Middleware)使用Pydantic进行数据验证:异步编程使用WebSockets使用FastAPI进行测试使用缓存优化性能使用`Response`对象自定义响应版本控制自定义路由类异步数据库操作事件处理器(EventHandler......
  • FastAPI Starlette Middleware 会话 - 重定向后无法访问会话数据
    我正在使用FastAPI作为后端编写一个简单的Web应用程序,并且我希望通过AzureB2C实现身份验证。这一切的逻辑现在并不重要,我只是想能够测试一下我是否可以使用不同的方法成功登录。但是,在尝试了很长一段时间之后,我不明白,为什么我可以重定向后不会从会话中检索用户的数据......
  • FastAPI oauth2 + jwt 延长每个请求的exp时间
    根据fastapi的示例,我们可以使用ouath2和json网络令牌为用户创建登录:fromdatetimeimportdatetime,timedelta,timezonefromtypingimportAnnotatedfromfastapiimportDepends,FastAPI,HTTPException,statusfromfastapi.securityimportOAuth2PasswordBearer,O......
  • Java9 Process API
    在负责控制和管理操作系统进程的Java9ProcessAPI中已经有了相当大的改进。ProcessHandle类提供进程本机进程ID,开始时间,累计CPU时间,参数,命令,用户,父进程和子进程。ProcessHandle类还提供了检查进程活性并销毁进程的方法。它具有onExit方法,当进程退出时,CompletableFuture类......