获取全套开发手册和源程序,发站内信联系

 

 

 

 

OCR识别服务开发手册

 

 

文件版本:4.0.0

    修改时间:2019-11-12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第一章 接口说明

1.1.    OCR识别接口说明

服务器 API基于http协议开发,任何程序都可以通过 HTTP 的调用方式来调用接口。

使用识别服务前请确认服务器IP地址及端口号(端口号可以根据具体情况进行设置)。

1.1.1.   证件OCR识别服务API

http

post

url

http://222.128.10.62:8999/EtOcrWeb/servlet/PosOcrServlet

 

Post

数据参数

ocrKey

联系厂商

ocrSecret

联系厂商

filedata

图片文件的BASE64编码

pid

产品id编号

(详见《产品id定义表》)

返回值

返回状态码,详见《接口调用状态码》

返回OCR识别结果,格式见《OCR识别结果格式说明》

 

1.2.    识别接口调用示例

识别服务调用主要分为三部分:

1)将客户端文件读成二进制流,转换成base64编码

2)调用http识别服务API获取卡片信息

3)对识别结果进行处理(写入数据库,或者前端浏览等)

调用实例代码如下:

import java.io.*;

import java.net.HttpURLConnection;

import java.net.URL;

import java.net.URLEncoder;

import com.sun.org.apache.xml.internal.security.utils.Base64;

public class OcrInvoiceTest {

private static final String strUrl =

“http://222.128.10.62:8999/EtOcrWeb/servlet/PosOcrServlet”;

public static void main(String[] args) {

              String strFilep = “/mnt/hgfs/LinuxTestPic/21/002003.jpg”;

              String strpid = “2”//pid

              File file = new File(strFilep);

              FileInputStream is;

              try {

                     is = new FileInputStream(file);

                     byte[] data = new byte[is.available()];

                     is.read(data);

                     String base64file = Base64.encode(data);

                     String params = “filedata=”+ URLEncoder.encode(base64file, “utf-8”);

                  params+=”&pid=”+URLEncoder.encode(strpid, “utf-8”);

params+=”&ocrKey=”+ URLEncoder.encode(“594bd72adde5019f9042ff2a3f3935258a”, “utf-8”); params+=”&ocrSecret=”+

URLEncoder.encode(“a458a3281b896e9c5413f5fded03278b”, “utf-8”);

                     String readByGet = readByPOST(strUrl, params);

                     System.out.println(readByGet);

              } catch (IOException e) {

                     e.printStackTrace();

              }

       }

private static String readByPOST(String inUrl, String params)throws IOException {

              StringBuffer sbf = new StringBuffer();

              String strRead = null;

              URL url = new URL(inUrl);

              HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setRequestProperty(“Content-Type”, “application/x-www-form-urlencoded”);

connection.setRequestMethod(“POST”);

              connection.setDoInput(true);

              connection.setDoOutput(true);

              connection.connect();

              PrintWriter  out = new PrintWriter(connection.getOutputStream());

    out.print(params);

    out.flush();

              InputStream is = connection.getInputStream();

              BufferedReader reader = new BufferedReader(new InputStreamReader(is,”UTF-8″));

              while ((strRead = reader.readLine()) != null) {

                     sbf.append(strRead);

                     sbf.append(“\r\n”);

              }

              reader.close();            

connection.disconnect();

              return sbf.toString();

       }

 

 

1.3.    http接口调用状态码

返回值

说明

返回值

说明

0

识别成功

16

不支持的图像格式

19

识别失败:拒识

3

图像分类失败

产品id定义表

产品名称

Pid

产品名称

Pid

二代证

2

机动车发票

61

银行卡

4

营业执照

41

行驶证

5

出生证明

52

车牌

6

军官证

11

驾驶证

7

火车票

66

护照

8

条码

69

MRZ

10

外国人永久居留证

53

VIN

1

工牌

101

增值税发票

21

财务票据

22

产品分类

23

机动车登记证

62

机动车合格证

68

通用印刷体

1001

往来港澳通行证正面

1013

往来港澳通行证背面

1014

港澳台居民往来大陆通行证

1018

户口本户主页

1002

户口本个人页

1003

结婚证

1004

离婚证

1005

北京社保卡

1016

广东居住证

1019

临时身份证

1020

深圳居住证

1021

电子承兑汇票

1031

北京医疗发票

1017

开户许可证

1015

税务登记证正本

1012

税务登记证副本

1022

统一社会信用代码证书

1023

事业单位法人证书正本

1024

事业单位法人证书副本

1025

组织机构代码证

1026

社会团体法人证书正本

1027

社会团体法人证书副本

1028

不动产权证

1006

不动产登记证

1007

北京房产证

1008

上海房产证

1009

广东房产证

1010

深圳土地证

1011

定额发票

84

火车票

66

增值税发票卷票

81

过路费

89

船运发票

86

出租车票

83

电子客票行程单

82

汽车客运发票

87

通用机打发票

85

其他发票

88

二手车发票

60

长春社保卡

1032

全国各省市房产证

1033

通用手写

1034

产品名称

Pid

产品名称

Pid

二代证

2

行驶证

5

 

1.3.1.   OCR识别结果格式说明

返回的识别结果默认采用utf-8的json格式的字符串输出

1.3.2.   二代证内容及说明

{

    “ErrorCode”: 0,

    “Time”: “719”,

    “ResultList”: [{

           “pid”: 2,

           “type”: “身份证人像页”,

           “position”: {

                  “left”: 105,

                  “top”: 91,

                  “width”: 430,

                  “height”: 278

           },

           “direct”: 0,

           “angle”: 0,

           “image_data”: “”,

           “head_image_data”: “”,

           “ocr_error_code”: 0,

           “FieldList”: [{

                  “key”: “IDNum”,

                  “chn_key”: “身份证号码”,

                  “value”: “440711198410xxxxxx”,

                  “image_data”: “”,

                  “position”: {

                         “left”: 153,

                         “top”: 224,

                         “width”: 234,

                         “height”: 23

                  },

                  “quad”: [156, 227, 384, 228, 384, 244, 156, 244]

           }, {

                  “key”: “Nation”,

                  “chn_key”: “民族”,

                  “value”: “汉”,

                  “image_data”: “”,

                  “position”: {

                         “left”: 128,

                         “top”: 76,

                         “width”: 67,

                         “height”: 22

                  },

                  “quad”: [132, 79, 192, 79, 192, 95, 131, 95]

           }, {

                  “key”: “Name”,

                  “chn_key”: “姓名”,

                  “value”: “张三”,

                  “image_data”: “”,

                  “position”: {

                         “left”: 88,

                         “top”: 39,

                         “width”: 63,

                         “height”: 27

                  },

                  “quad”: [91, 43, 148, 42, 148, 62, 92, 63]

           }, {

                  “key”: “Address”,

                  “chn_key”: “地址”,

                  “value”: “广东省江门市蓬江区”,

                  “image_data”: “”,

                  “position”: {

                         “left”: 85,

                         “top”: 141,

                         “width”: 182,

                         “height”: 45

                  },

                  “quad”: [88, 145, 264, 144, 264, 182, 88, 183]

           }, {

                  “key”: “Sex”,

                  “chn_key”: “性别”,

                  “value”: “男”,

                  “image_data”: “”,

                  “position”: {

                         “left”: 0,

                         “top”: 0,

                         “width”: 0,

                         “height”: 0

                  },

                  “quad”: [88, 145, 264, 144, 264, 182, 88, 183]

           }, {

                  “key”: “Birth”,

                  “chn_key”: “出生”,

                  “value”: “19841203”,

                  “image_data”: “”,

                  “position”: {

                         “left”: 0,

                         “top”: 0,

                         “width”: 0,

                         “height”: 0

                  },

                  “quad”: [560245776, 0, 560244016, 0, 1023, 0, 7, 0]

           }]

    }, {

           “pid”: 3,

           “type”: “身份证国徽页”,

           “position”: {

                  “left”: 122,

                  “top”: 550,

                  “width”: 428,

                  “height”: 279

           },

           “direct”: 0,

           “angle”: 0,

           “image_data”: “”,

           “ocr_error_code”: 0,

           “FieldList”: [{

                  “key”: “IssueAuthority”,

                  “chn_key”: “签发机关”,

                  “value”: “江门市公安局xx分局”,

                  “image_data”: “”,

                  “position”: {

                         “left”: 168,

                         “top”: 184,

                         “width”: 172,

                         “height”: 26

                  },

                  “quad”: [171, 190, 336, 187, 337, 204, 172, 207]

           }, {

                  “key”: “ExpiryDate”,

                  “chn_key”: “有效期限”,

                  “value”: “20150121-20350121”,

                  “image_data”: “”,

                  “position”: {

                         “left”: 169,

                         “top”: 220,

                         “width”: 178,

                         “height”: 21

                  },

                  “quad”: [172, 224, 344, 223, 344, 238, 172, 238]

           }]

    }]

}

通用字段

字段名称

值类型

说明

ErrorCode

int

返回值

Time

String

识别时间

ResultList

array

返回结果数组

type

String

证件类型

image_data

String

裁切后的图片base64编码

direct

int

图片方向

key

String

英文字段名称

chn_key

String

中文字段名称

value

String

对应字段识别结果

position

array

当前裁切图片或字段在图片上的位置信息

 

 

二代证特有字段

字段名称

值类型

说明

head_image_data

String

头像图片数据(base64)

pid

int

当前身份证正反面(2表示正面,3表示反面)

IDNum

String

身份证号码

Nation

String

民族

Name

String

姓名

Address

String

地址

Sex

String

性别

Birth

String

出生日期

IssueAuthority

String

签发机关

ExpiryDate

String

有效期限

quad

array

每个字段的坐标信息

 

 

 

 

第二章 其他注意事项

4.1网络需求

识别服务基于http技术,用户调用服务前请确保您的设备可以连通识别服务器,并保证一定的带宽,否则会导致识别服务的图像数据网络传输较慢,会引发超时或者请求失败。

版权声明:本文为dissipate原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dissipate/p/13441256.html