护照识别

接口描述

用户通过发送HTTP Post请求方式提交数据至公有云服务器,服务器识别并返回json格式的识别结果。

接口说明

请求URL:http://api.exocr.com/ocr/v1/passport

请求方式:HTTP Post

返回格式:json

参数
Content-Type 使用二进制方式时,为multipart/form-data;使用base64和url方式时,为application/x-www-form-urlencoded

请求参数

参数 必选 类型 说明
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图像为准。

调用示例

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/v1/passport";

      //设置请求参数

      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": {

    "passport_no": {

      "words": "G1##319",

      "score": 1,

      "position": {

        "left": 665,

        "top": 1625,

        "width": 1838,

        "height": 194

      },

      "chinese_key": "护照号"

    },

    "name": {

      "words": "ZH N",

      "score": 1,

       "position": {

        "left": 665,

        "top": 1625,

        "width": 1838,

        "height": 194

      },

      "chinese_key": "姓名"

    },

    "gender": {

      "words": "M",

      "score": 1,

      "position": {

        "left": 665,

        "top": 1625,

        "width": 1838,

        "height": 194

      },

      "chinese_key": "性别"

    },

    "nationality": {

      "words": "CHN",

      "score": 1,

      "position": {

        "left": 665,

        "top": 1625,

        "width": 1838,

        "height": 194

      },

      "chinese_key": "国籍"

    },

    "birthdate": {

      "words": "7###7",

      "score": 1,

      "position": {

        "left": 665,

        "top": 1625,

        "width": 1838,

        "height": 194

      },

      "chinese_key": "出生日期"

    },

    "type": {

      "words": "PO",

      "score": 1,

      "position": {

        "left": 665,

        "top": 1625,

        "width": 1838,

        "height": 194

      },

      "chinese_key": "护照类型"

    },

    "country": {

      "words": "CHN",

      "score": 1,

      "position": {

        "left": 665,

        "top": 1625,

        "width": 1838,

        "height": 194

       },

      "chinese_key": "签发国家"

    },

    "valid": {

      "words": "100424",

      "score": 1,

      "position": {

        "left": 665,

        "top": 1625,

        "width": 1838,

        "height": 194

      },

      "chinese_key": "有效期至"

    },

    "MRZCode": {

      "words": "POCHNZHU<<JU<<<<<02",

      "score": 1,

      "position": {

        "left": 665,

        "top": 1625,

        "width": 1838,

        "height": 194

      },

      "chinese_key": "MRZCode"

    }

  },

  "error_code": 0,

  "description": "识别成功",

  "request_id": "65FBC5629C9C41E5A9CD582EAD02A309",

  "recognize_time": 1275,

  "available_count": 133072

}

返回说明

通用参数

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

护照识别特有参数

参数 类型 说明
passport_no string 护照号
name string 姓名
gender string 性别
nationality string 国籍
birthdate string 出生日期
type string 护照类型
country string 签发国家
valid string 有效期
MRZCode string MRZCode
position array 当前字段在图像上的位置信息
left int 位置值,距离原图左侧距离x,单位为像素
top int 位置值,距离原图上方距离y,单位为像素
width int 位置值,字段所在图框宽度w,单位为像素
height int 位置值,字段所在图框高度h,单位为像素
Copyright © 2020 易道博识 all right reserved,powered by Gitbook该文件修订时间: 2021-01-11 14:52:19

results matching ""

    No results matching ""