身份证识别(含质检)

接口描述

识别身份证上的文本信息,多张证件,返回多个结果,但无法对结果进行匹配关联。

接口说明

请求URL:http://api.exocr.com/ocr/v2/id_card

请求方式:HTTP Post

返回格式:json

请求参数

字段 说明 类型 备注
app_key string 请在控制台->我的应用中获取
app_secret string 请在控制台->我的应用中获取
image_base64 string 图像base64串。image_base64、image_url、image_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以image_base64图像为准。
image_url string 图像url地址。image_base64、image_url、image_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以image_base64图像为准。
image_binary data 图像二进制。image_base64、image_url、image_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以image_base64图像为准。
crop_image String 是否需要切图 0=不需要,1=需要,默认为不需要
hard_mode String 是否开启hard模式 1=开启,0=不开启,默认不开启当开启hard模式,如果图像中无法检测到身份证,会把整图当做身份证识别,若开启该模式,可能获得更多识别结果,但也会消耗更长时间,从实际效果看,开启该模式的影响不足0.5%
check_image String 是否对图像进行合法性校验 0=不校验,1=校验,默认不校验
ignore_list String 要忽略的合法性校验的项的列表,可忽略的项包括:1:复印件,2:拍屏,3:假证件,4:有水印,5:遮挡,6:切边,7:卡变形,8:有光斑,9:未检测到身份证,10:模糊。例如,设置该参数为1,2,3,4,9,则会忽略复印件、拍屏、假证件、有水印、未检测到身份证。默认情况下所有项都不忽略。
crop_check_th String 切边检测的阈值,身份证质检时,身份证留边低于该阈值会被判定为切边告警,例如20。 默认情况下,不设置该阈值,系统会根据图像大小设置该阈值,建议用户在非必要情况下,不要设置该阈值
check_all_risks String 强制进行所有合法性校验0=不强制校验所有,1=强制校验所有,默认不强制校验所有强制校验所有后,会返回字段risk_list,包含所有检测到的风险点列表
key_areas_only String 是否只检测关键区域光斑和遮挡 0=检验所有区域光斑和遮挡,1=只检验关键区域光斑和遮挡,默认检验所有区域关键区域指的是字段位置、人像位置
idcard_trimming1 List 通过传参支持控制身份证留白的宽度,例如[5,10,5,10],对应留白宽度顺序为左上右下。默认情况下,不设置该值,系统会取[0,0,0,0],范围为0-100。留白宽度也可以在配置文件 server.conf中 Trimming 下的idcard_trimming2进行配置。

返回结果

通用参数

参数 类型 说明
result array 返回结果数组,包括所有识别信息
error_code int 错误码,返回0为正确,其他为错误
description string 识别结果描述
request_id string 请求唯一标识符
recognize_time int 识别所用时间,单位为毫秒
available_count int 识别剩余可用次数,次数不足时无法继续识别,可在控制台进行充值次数

result参数

字段 说明 类型 备注
risk 图像风险类型 Int 0:无,1:复印件,2:拍屏,3:假证件,4:有水印,5:遮挡,6:切边,7:卡变形,8:有光斑,9:未检测到身份证, 10:模糊
score 照片可信度 Float 取值范围为0~1
risk_details 风险详情 Object
segment 切割风险详情 Object
bbox 坐标信息 List
class 类型 Int 1:身份证正常,2:身份证复印,3:身份证拍屏,4:身份证假证,5:身份证水印
edge_cover 遮挡风险详情 Object
bboxes 坐标信息 List
classes 类型 List 1:有遮挡
scores 分数 Float 0.4以上分数越大,遮挡越可信
class_names 遮挡 List Occlusion遮挡
blur_score 模糊风险分值 List 0.3以下清晰,值越大越模糊

调用示例

java(相关依赖库下载)

package com.exocr.httpclient;



import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.util.HashMap;

import java.util.Map;



import com.exocr.common.utils.HttpClientUtils;



public class Test {



   public static void main(String[] args) throws FileNotFoundException {

      /**

       * base64

       */

      //识别url

      String url = " http://api.exocr.com/ocr/v2/id_card";

      //设置请求参数

      Map<String, String> params = new HashMap<String, String>();

      params.put("app_key", "#####");

      params.put("app_secret", "#####");

      //设置识别图像base64编码

      params.put("image_base64", "base64ImageStr");

      //发送请求,得到识别结果

      String result = HttpClientUtils.doPost(url, params);

      System.out.println(result);

      /**

       * url

       */

      //设置请求参数、识别图像url

      params.put("app_key", "#####");

      params.put("app_secret", "#####");

      params.put("image_url", "imageUrl");

      //发送请求,得到识别结果

      result = HttpClientUtils.doPost(url, params);

      System.out.println(result);

      /**

       * 二进制

       */

      //设置请求参数

      params.put("app_key", "#####");

      params.put("app_secret", "#####");

      //拿到本地图像,写入数据流

      File file = new File("/Users/mac/logs/test.png");

      InputStream in = new FileInputStream(file);

      //设置数据流

      Map<String, InputStream> streamMap = new HashMap<String, InputStream>();

      streamMap.put("image_binary", in);

      //发送请求,得到识别结果

      result = HttpClientUtils.doPostStream(url, params, streamMap);

      //关闭io流

      try {

         in.close();

      } catch (IOException e) {

         e.printStackTrace();

      }

      System.out.println(result);

   }

}

返回结果示例


{
    "result": [
        {
            "face": 1,
            "quad": [
                101,
                54,
                607,
                64,
                601,
                380,
                95,
                370
            ],
            "recognize_result": {
                "birthdate": {
                    "score": 0.991768,
                    "quad": "111,127,258,127,258,142,111,142",
                    "chinese_key": "出生",
                    "words": "1996年05月16日",
                    "position": {
                        "top": 127,
                        "left": 111,
                        "width": 147,
                        "height": 15
                    }
                },
                "address": {
                    "score": 0.999511,
                    "quad": "109,163,302,163,302,202,109,203",
                    "chinese_key": "住址",
                    "words": "山西省晋城市城区61茶元村44号",
                    "position": {
                        "top": 163,
                        "left": 109,
                        "width": 193,
                        "height": 40
                    }
                },
                "gender": {
                    "score": 0.999184,
                    "quad": "184,248,426,248,426,264,184,264",
                    "chinese_key": "性别",
                    "words": "男",
                    "position": {
                        "top": 248,
                        "left": 184,
                        "width": 242,
                        "height": 16
                    }
                },
                "nationality": {
                    "score": 0.905196,
                    "quad": "199,94,219,94,219,110,199,110",
                    "chinese_key": "民族",
                    "words": "汉",
                    "position": {
                        "top": 94,
                        "left": 199,
                        "width": 20,
                        "height": 16
                    }
                },
                "name": {
                    "score": 0.99997,
                    "quad": "109,54,162,54,162,74,109,74",
                    "chinese_key": "姓名",
                    "words": "王通",
                    "position": {
                        "top": 54,
                        "left": 109,
                        "width": 53,
                        "height": 20
                    }
                },
                "idno": {
                    "score": 0.999184,
                    "quad": "184,248,426,248,426,264,184,264",
                    "chinese_key": "公民身份号码",
                    "words": "140502199605163032",
                    "position": {
                        "top": 248,
                        "left": 184,
                        "width": 242,
                        "height": 16
                    }
                }
            },
            "face_image": "",
            "risk": 0,
            "crop_image": ""
        }
    ],
    "error_code": 0,
    "description": "识别成功",
    "request_id": "5B05D0626BE1463F99002B0777E119E0",
    "recognize_time": 320,
    "available_count": 863,
    "version": null
}
Copyright © 2020 易道博识 all right reserved,powered by Gitbook该文件修订时间: 2024-08-16 16:42:46

results matching ""

    No results matching ""