户口本识别
接口描述
用户通过发送HTTP Post请求方式提交数据至公有云服务器,服务器识别并返回json格式的识别结果。
接口说明
请求URL:http://api.exocr.com/ocr/v1/hukou_proof
请求方式:HTTP Post
返回格式:json
Header
参数 | 值 |
---|---|
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/hukou_proof";
//设置请求参数
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": {
"type": null,
"householder": null,
"house_no": null,
"address": null,
"name": {
"words": "赵##",
"score": 1,
"position": {
"left": 1085,
"top": 409,
"width": 354,
"height": 120
},
"chinese_key": "姓名"
},
"relationship": {
"words": "妻",
"score": 1,
"position": {
"left": 2610,
"top": 407,
"width": 112,
"height": 104
},
"chinese_key": "户主或与户主关系"
},
"used_name": {
"words": "",
"score": 1,
"position": {
"left": 776,
"top": 452,
"width": 1111,
"height": 429
},
"chinese_key": "曾用名"
},
"gender": {
"words": "女",
"score": 1,
"position": {
"left": 2616,
"top": 596,
"width": 98,
"height": 100
},
"chinese_key": "性别"
},
"birth_place": {
"words": "福建省##县",
"score": 1,
"position": {
"left": 1085,
"top": 790,
"width": 497,
"height": 98
},
"chinese_key": "出生地"
},
"nationality": {
"words": "汉",
"score": 1,
"position": {
"left": 2620,
"top": 778,
"width": 99,
"height": 89
},
"chinese_key": "民族"
},
"from": {
"words": "福建省##县",
"score": 1,
"position": {
"left": 1086,
"top": 974,
"width": 496,
"height": 94
},
"chinese_key": "籍贯"
},
"birth_date": {
"words": "19xx年x月x日",
"score": 1,
"position": {
"left": 2636,
"top": 953,
"width": 565,
"height": 90
},
"chinese_key": "出生日期"
},
"idno": {
"words": "350###",
"score": 1,
"position": {
"left": 1085,
"top": 1342,
"width": 783,
"height": 96
},
"chinese_key": "身份证号码"
}
},
"error_code": 0,
"description": "识别成功",
"request_id": "B3B5B676A8D7424CBBF559734B5D537C",
"recognize_time": 880,
"available_count": 123078
}
返回说明
通用参数
参数 | 类型 | 说明 |
---|---|---|
result | array | 返回结果数组,包括所有字段的识别信息 |
error_code | int | 错误码,返回0为正确,其他为错误 |
description | string | 识别结果描述 |
request_id | string | 请求唯一标识符 |
recognize_time | int | 识别所用时间,单位为毫秒 |
available_count | int | 识别剩余可用次数,次数不足时无法继续识别,可在控制台进行充值次数 |
户口本识别特有参数
参数 | 类型 | 说明 |
---|---|---|
name | string | 姓名 |
relationship | string | 户主或与户主关系 |
used_name | string | 曾用名 |
gender | string | 性别 |
birth_place | string | 出生地 |
nation | string | 民族 |
from | string | 籍贯 |
birth_date | string | 出生日期 |
idno | string | 身份证号码 |
position | array | 当前字段在图像上的位置信息 |
left | int | 位置值,距离原图左侧距离x,单位为像素 |
top | int | 位置值,距离原图上方距离y,单位为像素 |
width | int | 位置值,字段所在图框宽度w,单位为像素 |
height | int | 位置值,字段所在图框高度h,单位为像素 |
chinese_key | String | 该字段中文含义 |
words | String | 识别结果 |
score | Float | 照片可信度,取值范围为0~1 |
quad | String | 四个顶点坐标,依次为左上,右上,右下,左下四个点的坐标值 |
blood_type | Object | 血型 |
education | Object | 文化程度 |
marriage | Object | 婚姻状况 |
military_serve | Object | 兵役状况 |
employer | Object | 服务处所 |
occupation | Object | 职业 |
when_to_city | Object | 何时由何地迁来本市(县) |
when_to_address | Object | 何时由何地迁来本址 |
register_datetime | Object | 登记日期 |
faith | Object | 宗教信仰 |
other_address | Object | 本市(县)其他住址 |