接口调用说明
OCR-UI模块
OCR-UI模块提供了一套默认的UI。如需使用,请将ocr_ui模块包含到您的工程,具体使用可参考SDK包中附带的示例工程。
OCR-UI模块调用示例
调用拍摄activity,更详细的类别请参考demo工程。
// 生成intent对象
Intent intent = new Intent(IDCardActivity.this, CameraActivity.class);
// 设置临时存储
intent.putExtra(CameraActivity.KEY_OUTPUT_FILE_PATH, FileUtil.getSaveFile(getApplication()).getAbsolutePath());
// 调用除银行卡,身份证等识别的activity
intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_GENERAL);
startActivityForResult(intent, REQUEST_CODE_CAMERA);
// 通过参数确定接口类型
startActivityForResult(intent, REQUEST_CODE_GENERAL_BASIC);
// 调用拍摄银行卡的activity
intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_BANK_CARD);
startActivityForResult(intent, REQUEST_CODE_CAMERA);
// 调用拍摄身份证正面(不带本地质量控制)activity
intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_ID_CARD_FRONT);
startActivityForResult(intent, REQUEST_CODE_CAMERA);
// 调用身份证本识别(带本地质量控制)activity
Intent intent = new Intent(IDCardActivity.this, CameraActivity.class);
// 使用本地质量控制能力需要授权,需要在OCR调用initAccessToken或者
// initAccessTokenWithAkSk成功返回后才能获取License授权本地质量控制能力
intent.putExtra(CameraActivity.KEY_NATIVE_TOKEN,
OCR.getInstance().getLicense());
// 使用本地质量控制能力需要设置开启
intent.putExtra(CameraActivity.KEY_NATIVE_ENABLE,
true);
// 开启身份证正面本地识别
intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_ID_CARD_FRONT);
通过onActivityResult获取拍摄结果,更详细的类别请参考demo工程。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// 获取调用参数
String contentType = data.getStringExtra(CameraActivity.KEY_CONTENT_TYPE);
// 通过临时文件获取拍摄的图片
String filePath = FileUtil.getSaveFile(getApplicationContext()).getAbsolutePath();
// 判断拍摄类型(通用,身份证,银行卡等)
if (requestCode == REQUEST_CODE_GENERAL && resultCode == Activity.RESULT_OK) {
// 判断是否是身份证正面
if (CameraActivity.CONTENT_TYPE_ID_CARD_FRONT.equals(contentType)){
// 获取图片文件调用sdk数据接口,见数据接口说明
}
}
}
数据接口
通用文字识别
-
调用示例
// 通用文字识别参数设置 GeneralBasicParams param = new GeneralBasicParams(); param.setDetectDirection(true); param.setImageFile(new File(filePath));
// 调用通用文字识别服务 OCR.getInstance().recognizeGeneralBasic(param, new OnResultListener
() { @Override public void onResult(GeneralResult result) { // 调用成功,返回GeneralResult对象 for (WordSimple wordSimple : result.getWordList()) { // wordSimple不包含位置信息 wordSimple word = wordSimple; sb.append(word.getWords()); sb.append("\n"); } // json格式返回字符串 listener.onResult(result.getJsonRes()); } @Override public void onError(OCRError error) { // 调用失败,返回OCRError对象 } });
options参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | true | string | - | 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
language_type | false | string | CHN_ENG、ENG、POR、FRE、GER、ITA、SPA、RUS、JAP | 识别语言类型,默认为CHN_ENG。可选值包括: - CHN_ENG:中英文混合; - ENG:英文; - POR:葡萄牙语; - FRE:法语; - GER:德语; - ITA:意大利语; - SPA:西班牙语; - RUS:俄语; - JAP:日语 |
detect_direction | false | boolean | true、false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向。 |
detect_language | FALSE | string | true、false | 是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语) |
- 结果返回
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | int32 | 图像方向,当detect_direction=true时存在。 - -1:未定义, - 0:正向, - 1: 逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array() | 定位和识别结果数组 |
+words | 否 | string | 识别结果字符串 |
// 示例
返回格式参考通用文字识别
通用文字识别(高精度版)
-
调用示例
// 通用文字识别参数设置 GeneralBasicParams param = new GeneralBasicParams(); param.setDetectDirection(true); param.setImageFile(new File(filePath));
// 调用通用文字识别服务 OCR.getInstance().recognizeAccurateBasic(param, new OnResultListener
() { @Override public void onResult(GeneralResult result) { // 调用成功,返回GeneralResult对象 for (WordSimple wordSimple : result.getWordList()) { // wordSimple不包含位置信息 wordSimple word = wordSimple; sb.append(word.getWords()); sb.append("\n"); } // json格式返回字符串 listener.onResult(result.getJsonRes()); } @Override public void onError(OCRError error) { // 调用失败,返回OCRError对象 } });
options参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | true | string | - | 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
detect_direction | false | boolean | true、false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向。 |
- 结果返回
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | int32 | 图像方向,当detect_direction=true时存在。 - -1:未定义, - 0:正向, - 1: 逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array() | 定位和识别结果数组 |
+words | 否 | string | 识别结果字符串 |
// 示例
{
"log_id": 2471272194,
"words_result_num": 2,
"words_result":
[
{"words": " TSINGTAO"},
{"words": "青島睥酒"}
]
}
通用文字识别(含位置信息版)
-
调用示例
// 通用文字识别参数设置 GeneralParams param = new GeneralParams(); param.setDetectDirection(true); param.setImageFile(new File(filePath));
// 调用通用文字识别服务(含位置信息版) OCR.getInstance().recognizeGeneral(param, new OnResultListener
() { @Override public void onResult(GeneralResult result) { StringBuilder sb = new StringBuilder(); for (WordSimple wordSimple : result.getWordList()) { // word包含位置 Word word = (Word) wordSimple; sb.append(word.getWords()); sb.append("\n"); } // 调用成功,返回GeneralResult对象,通过getJsonRes方法获取API返回字符串 listener.onResult(result.getJsonRes()); } @Override public void onError(OCRError error) { // 调用失败,返回OCRError对象 } });
options参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | true | string | - | 图像数据,base64编码,要求base64编码后大小不超过1M,最短边至少15px,最长边最大2048px,支持jpg/png/bmp格式 |
recognize_granularity | false | string | big、small | 是否定位单字符位置,big:不定位单字符位置,默认值;small:定位单字符位置 |
language_type | false | string | CHN_ENG、ENG、POR、FRE、GER、ITA、SPA、RUS、JAP | 识别语言类型,默认为CHN_ENG。可选值包括: - CHN_ENG:中英文混合; - ENG:英文; - POR:葡萄牙语; - FRE:法语; - GER:德语; - ITA:意大利语; - SPA:西班牙语; - RUS:俄语; - JAP:日语 |
detect_direction | false | boolean | true、false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向。 |
detect_language | false | string | true、false | 是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语) |
vertexes_location | false | string | true、false | 是否返回文字外接多边形顶点位置,不支持单字位置。默认为false |
- 结果返回
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | int32 | 图像方向,当detect_direction=true时存在。 - -1:未定义, - 0:正向, - 1: 逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result | 是 | array() | 定位和识别结果数组 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+vertexes_location | 否 | array() | 当前为四个顶点: 左上,右上,右下,左下。当vertexes_location=true时存在 |
++x | 是 | uint32 | 水平坐标(坐标0点为左上角) |
++y | 是 | uint32 | 垂直坐标(坐标0点为左上角) |
+location | 是 | array() | 位置数组(坐标0点为左上角) |
++left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++height | 是 | uint32 | 表示定位位置的长方形的高度 |
+words | 否 | string | 识别结果字符串 |
+chars | 否 | array() | 单字符结果,recognize_granularity=small时存在 |
++location | 是 | array() | 位置数组(坐标0点为左上角) |
+++left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
+++top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
+++width | 是 | uint32 | 表示定位定位位置的长方形的宽度 |
+++height | 是 | uint32 | 表示位置的长方形的高度 |
++char | 是 | string | 单字符识别结果 |
// 示例
{
direction : 2,
log_id : 676709620,
words_result : [ {
location : {
height : 20;
left : 86;
top : 387;
width : 22;
};
words : "N";
},
],
words_result_num : 1;
}
通用文字识别(高精度含位置信息版)
-
调用示例
// 通用文字识别参数设置 GeneralParams param = new GeneralParams(); param.setDetectDirection(true); param.setImageFile(new File(filePath));
// 调用通用文字识别服务(含位置信息版) OCR.getInstance().recognizeAccurate(param, new OnResultListener
() { @Override public void onResult(GeneralResult result) { StringBuilder sb = new StringBuilder(); for (WordSimple wordSimple : result.getWordList()) { // word包含位置 Word word = (Word) wordSimple; sb.append(word.getWords()); sb.append("\n"); } // 调用成功,返回GeneralResult对象,通过getJsonRes方法获取API返回字符串 listener.onResult(result.getJsonRes()); } @Override public void onError(OCRError error) { // 调用失败,返回OCRError对象 } });
options参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | true | string | - | 图像数据,base64编码,要求base64编码后大小不超过1M,最短边至少15px,最长边最大2048px,支持jpg/png/bmp格式 |
vertexes_location | false | string | true、false | 是否返回文字外接多边形顶点位置,不支持单字位置。默认为false |
recognize_granularity | false | string | big、small | 是否定位单字符位置,big:不定位单字符位置,默认值;small:定位单字符位置 |
detect_direction | false | boolean | true、false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向。 |
- 结果返回
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | int32 | 图像方向,当detect_direction=true时存在。 - -1:未定义, - 0:正向, - 1: 逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result | 是 | array() | 定位和识别结果数组 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+vertexes_location | 否 | array() | 当前为四个顶点: 左上,右上,右下,左下。当vertexes_location=true时存在 |
++x | 是 | uint32 | 水平坐标(坐标0点为左上角) |
++y | 是 | uint32 | 垂直坐标(坐标0点为左上角) |
+location | 是 | array() | 位置数组(坐标0点为左上角) |
++left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++height | 是 | uint32 | 表示定位位置的长方形的高度 |
+words | 否 | string | 识别结果字符串 |
+chars | 否 | array() | 单字符结果,recognize_granularity=small时存在 |
++location | 是 | array() | 位置数组(坐标0点为左上角) |
+++left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
+++top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
+++width | 是 | uint32 | 表示定位定位位置的长方形的宽度 |
+++height | 是 | uint32 | 表示位置的长方形的高度 |
++char | 是 | string | 单字符识别结果 |
// 返回结果参考通用文字识别(含位置信息版)
通用文字识别(含生僻字版)
-
调用示例
// 通用文字识别(含生僻字版)参数设置 GeneralBasicParams param = new GeneralBasicParams(); param.setDetectDirection(true); param.setImageFile(new File(filePath));
// 调用通用文字识别服务 OCR.getInstance().recognizeGeneralEnhanced(param, new OnResultListener
() { @Override public void onResult(GeneralResult result) { // 调用成功,返回GeneralResult对象 for (WordSimple wordSimple : result.getWordList()) { // wordSimple不包含位置信息 wordSimple word = wordSimple; sb.append(word.getWords()); sb.append("\n"); } } @Override public void onError(OCRError error) { // 调用失败,返回OCRError对象 } });
options参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | true | string | - | 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
language_type | false | string | CHN_ENG、ENG、POR、FRE、GER、ITA、SPA、RUS、JAP | 识别语言类型,默认为CHN_ENG。可选值包括: - CHN_ENG:中英文混合; - ENG:英文; - POR:葡萄牙语; - FRE:法语; - GER:德语; - ITA:意大利语; - SPA:西班牙语; - RUS:俄语; - JAP:日语 |
detect_direction | false | boolean | true、false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向。 |
detect_language | FALSE | string | true、false | 是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语) |
- 结果返回
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | int32 | 图像方向,当detect_direction=true时存在。 - -1:未定义, - 0:正向, - 1: 逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array() | 定位和识别结果数组 |
+words | 否 | string | 识别结果字符串 |
// 示例
参考通用文字识别接口
网络图片文字识别
-
调用示例
// 网络图片文字识别参数设置 GeneralBasicParams param = new GeneralBasicParams(); param.setDetectDirection(true); param.setImageFile(new File(filePath));
// 调用通用文字识别服务 OCR.getInstance().recognizeWebimage(param, new OnResultListener
() { @Override public void onResult(GeneralResult result) { // 调用成功,返回GeneralResult对象 for (WordSimple wordSimple : result.getWordList()) { // wordSimple不包含位置信息 wordSimple word = wordSimple; sb.append(word.getWords()); sb.append("\n"); } } @Override public void onError(OCRError error) { // 调用失败,返回OCRError对象 } });
options参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | true | string | - | 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
detect_direction | false | boolean | true、false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向。 |
detect_language | false | string | true、false | 是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语) |
- 结果返回
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | int32 | 图像方向,当detect_direction=true时存在。 - -1:未定义, - 0:正向, - 1: 逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array() | 定位和识别结果数组 |
+words | 否 | string | 识别结果字符串 |
// 示例
参考通用文字识别接口
银行卡识别
-
调用示例
// 银行卡识别参数设置 BankCardParams param = new BankCardParams(); param.setImageFile(new File(filePath));
// 调用银行卡识别服务 OCR.getInstance().recognizeBankCard(param, new OnResultListener
() { @Override public void onResult(BankCardResult result) { // 调用成功,返回BankCardResult对象 } @Override public void onError(OCRError error) { // 调用失败,返回OCRError对象 } }); - 结果返回
参数 | 类型 | 描述 |
---|---|---|
log_id | Uint64 | 唯一的log id,用于问题定位 |
result | Object | 定位和识别结果数组 |
+bank_card_number | String | 银行卡识别结果 |
+bank_name | String | 银行名,不能识别时为空 |
+bank_card_type | uint32 | 银行卡类型,0:不能识别; 1: 借记卡; 2: 信用卡 |
// 示例
{
"log_id": 3207866271;
result: {
"bank_card_number": "6226 2288 8888 8888",
"bank_card_type": 1,
"bank_name": "\U5de5\U5546\U94f6\U884c"
};
}
身份证识别
-
调用示例
// 身份证识别参数设置 IDCardParams param = new IDCardParams(); param.setImageFile(new File(filePath));
// 调用身份证识别服务 OCR.getInstance().recognizeIDCard(param, new OnResultListener
() { @Override public void onResult(IDCardResult result) { // 调用成功,返回IDCardResult对象 } @Override public void onError(OCRError error) { // 调用失败,返回OCRError对象 } });
options参数
参数 | 必选 | 范围 | 类型 | 说明 |
---|---|---|---|---|
image | true | String | 图像数据,支持本地图像文件路径,图像文件二进制数据,要求base64编码后大小不超过1M,最短边至少15px,最长边最大2048px,支持jpg/png/bmp格式 | |
isFront | true | true、false | Boolean | true:身份证正面,false:身份证背面 |
detect_direction | false | true、false | string | 是否检测图像朝向,默认不检测,即:false。可选值为:true - 检测图像朝向;false - 不检测图像朝向。朝向是指输入图像是正常方向、逆时针旋转90/180/270度 |
accuracy | false | auto、normal、high | string | 精准度,精度越高,速度越慢。default:auto |
- 结果返回
参数 | 类型 | 描述 |
---|---|---|
direction | Int32 | 图像方向,当detect_direction=true时存在。-1:未定义,0:正向,1: 逆时针90度, 2:逆时针180度, 3:逆时针270度 |
log_id | Uint64 | 唯一的log id,用于问题定位 |
words_result | Array | 定位和识别结果数组,数组元素的key是身份证的主体字段(正面支持:住址、公民身份号码、出生、姓名、性别、民族,背面支持:签发机关、签发日期、失效日期)。只返回识别出的字段。若身份证号码校验不通过,则不返回 |
words_result_num | Uint32 | 识别结果数,表示words_result的元素个数 |
+location | Array | 位置数组(坐标0点为左上角) |
++left | Uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++top | Uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++width | Uint32 | 表示定位位置的长方形的宽度 |
++height | Uint32 | 表示定位位置的长方形的高度 |
+words | String | 识别结果字符串 |
//示例
{
"log_id": 7037721,
"direction": 0,
"words_result_num": 2,
"words_result": {
"住址": {
"location": {
"left": 227,
"top": 235,
"width": 229,
"height": 51
},
"words": "湖北省天门市渔薪镇杨咀村一组2号",
}
...
}
}
行驶证识别
-
调用示例
// 行驶证识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath)); // 设置其他参数 param.putParam("detect_direction", true); // 调用行驶证识别服务 OCR.getInstance().recognizeVehicleLicense(param, new OnResultListener
() { @Override public void onResult(OcrResponseResult result) { // 调用成功,返回OcrResponseResult对象 listener.onResult(result.getJsonRes()); } @Override public void onError(OCRError error) { // 调用失败,返回OCRError对象 }
});
options参数
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 是 | File对象 | - | 图像数据, 要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
detect_direction | 否 | boolean | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括:- true:检测朝向;- false:不检测朝向。 |
vehicle_license_side | 否 | string | front/back | - front:默认值,识别行驶证主页- back:识别行驶证副页 |
unified | 否 | string | true/false | - false:默认值,不进行归一化处理- true:对输出字段进行归一化处理,将新/老版行驶证的“注册登记日期/注册日期”统一为”注册日期“进行输出 |
- 结果返回
字段 | 说明 | 是否必选 | 类型 |
---|---|---|---|
log_id | 是 | number | 唯一的log id,用于问题定位 |
words_result_num | 是 | number | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array | 识别结果数组 |
+words | 否 | string | 识别结果字符串 |
//示例
{
"errno": 0,
"msg": "success",
"data": {
"words_result_num": 10,
"words_result": {
"品牌型号": {
"words": "保时捷GT37182RUCRE"
},
"发证日期": {
"words": "20160104"
},
"使用性质": {
"words": "非营运"
},
"发动机号码": {
"words": "20832"
},
"号牌号码": {
"words": "苏A001"
},
"所有人": {
"words": "圆圆"
},
"住址": {
"words": "南京市江宁区弘景大道"
},
"注册日期": {
"words": "20160104"
},
"车辆识别代号": {
"words": "HCE58"
},
"车辆类型": {
"words": "小型轿车"
}
}
}
}
驾驶证识别
-
调用示例
// 驾驶证识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath)); // 设置其他参数 param.putParam("detect_direction", true); // 调用驾驶证识别服务 OCR.getInstance().recognizeDrivingLicense(param, new OnResultListener
() { @Override public void onResult(OcrResponseResult result) { // 调用成功,返回OcrResponseResult对象 listener.onResult(result.getJsonRes()); } @Override public void onError(OCRError error) { // 调用失败,返回OCRError对象 }
});
options参数
参数 | 必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 是 | File对象 | - | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
detect_direction | 否 | boolean | true、false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括:- true:检测朝向;- false:不检测朝向。 |
- 结果返回
字段 | 必选 | 类型 | |
---|---|---|---|
log_id | 是 | number | 唯一的log id,用于问题定位 |
words_result_num | 是 | number | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array | 识别结果数组 |
+words | 否 | string | 识别结果字符串 |
//示例
{
"errno": 0,
"msg": "success",
"data": {
"words_result_num": 10,
"words_result": {
"证号": {
"words": "3208231999053090"
},
"有效期限": {
"words": "6年"
},
"准驾车型": {
"words": "B2"
},
"有效起始日期": {
"words": "20101125"
},
"住址": {
"words": "江苏省南通市海门镇秀山新城"
},
"姓名": {
"words": "小欧欧"
},
"国籍": {
"words": "中国"
},
"出生日期": {
"words": "19990530"
},
"性别": {
"words": "男"
},
"初次领证日期": {
"words": "20100125"
}
}
}
}
车牌识别
-
调用示例
// 车牌识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用车牌识别服务 OCR.getInstance().recognizeLicensePlate(param, new OnResultListener
() { @Override public void onResult(OcrResponseResult result) { // 调用成功,返回OcrResponseResult对象 listener.onResult(result.getJsonRes()); } @Override public void onError(OCRError error) { // 调用失败,返回OCRError对象 }
});
options参数
参数 | 必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 是 | File对象 | - | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | number | 请求标识码,随机数,唯一 |
words_result | 是 | object | 暴恐结果置信度 |
+color | 是 | string | 车牌颜色,如"blue" |
+number | 是 | string | 车牌号码,示例:"苏HS7766" |
//示例
{
"words_result":{
"color":"blue",
"number":"粤FQ0000"
},
"log_id":2783673432
}
营业执照识别
-
调用示例
// 营业执照识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用营业执照识别服务 OCR.getInstance().recognizeBusinessLicense(param, new OnResultListener
() { @Override public void onResult(OcrResponseResult result) { listener.onResult(result.getJsonRes()); } @Override public void onError(OCRError error) { listener.onResult(error.getMessage()); }
});
options参数
参数 | 必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 是 | File对象 | - | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 请求标识码,随机数,唯一。 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | array() | 识别结果数组 | |
left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
width | 是 | uint32 | 表示定位位置的长方形的宽度 |
height | 是 | uint32 | 表示定位位置的长方形的高度 |
words | 否 | string | 识别结果字符串 |
//示例
{
"log_id": 490058765,
"words_result": {
"单位名称": {
"location": {
"left": 500,
"top": 479,
"width": 618,
"height": 54
},
"words": "袁氏财团有限公司"
},
"法人": {
"location": {
"left": 938,
"top": 557,
"width": 94,
"height": 46
},
"words": "袁运筹"
},
"地址": {
"location": {
"left": 503,
"top": 644,
"width": 574,
"height": 57
},
"words": "江苏省南京市中山东路19号"
},
"有效期": {
"location": {
"left": 779,
"top": 1108,
"width": 271,
"height": 49
},
"words": "2015年02月12日"
},
"证件编号": {
"location": {
"left": 1219,
"top": 357,
"width": 466,
"height": 39
},
"words": "苏餐证字(2019)第666602666661号"
},
"社会信用代码": {
"location": {
"left": 0,
"top": 0,
"width": 0,
"height": 0
},
"words": "无"
}
},
"words_result_num": 6
}
通用票据识别
-
调用示例
// 通用票据识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 设置额外参数 param.putParam("detect_direction", "true");
// 调用通用票据识别服务 OCR.getInstance().recognizeReceipt(param, new OnResultListener
() { @Override public void onResult(OcrResponseResult result) { listener.onResult(result.getJsonRes()); } @Override public void onError(OCRError error) { listener.onResult(error.getMessage()); }
});
options参数
参数 | 必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 是 | File对象 | - | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
recognize_granularity | false | string | big、small | 是否定位单字符位置,big:不定位单字符位置,默认值;small:定位单字符位置 |
probability | false | string | true、false | 是否返回识别结果中每一行的置信度 |
accuracy | false | string | normal,缺省 | normal 使用快速服务;缺省或其它值使用高精度服务 |
detect_direction | false | string | true、false | 是否检测图像朝向,默认不检测,即:false。可选值包括true - 检测朝向;false - 不检测朝向。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。 |
- 结果返回
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array() | 定位和识别结果数组 |
location | 是 | object | 位置数组(坐标0点为左上角) |
left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
width | 是 | uint32 | 表示定位位置的长方形的宽度 |
height | 是 | uint32 | 表示定位位置的长方形的高度 |
words | 是 | string | 识别结果字符串 |
chars | 否 | array() | 单字符结果,recognize_granularity=small时存在 |
location | 是 | array() | 位置数组(坐标0点为左上角) |
left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
width | 是 | uint32 | 表示定位定位位置的长方形的宽度 |
height | 是 | uint32 | 表示位置的长方形的高度 |
char | 是 | string | 单字符识别结果 |
probability | 否 | object | 识别结果中每一行的置信度值,包含average:行置信度平均值,variance:行置信度方差,min:行置信度最小值 |
{
"log_id": 2661573626,
"words_result": [
{
"location": {
"left": 10,
"top": 3,
"width": 121,
"height": 24
},
"words": "姓名:小明明",
"chars": [
{
"location": {
"left": 16,
"top": 6,
"width": 17,
"height": 20
},
"char": "姓"
},
{
"location": {
"left": 35,
"top": 6,
"width": 17,
"height": 20
},
"char": "名"
},
{
"location": {
"left": 55,
"top": 6,
"width": 11,
"height": 20
},
"char": ":"
},
{
"location": {
"left": 68,
"top": 6,
"width": 17,
"height": 20
},
"char": "小"
},
{
"location": {
"left": 87,
"top": 6,
"width": 17,
"height": 20
},
"char": "明"
},
{
"location": {
"left": 107,
"top": 6,
"width": 17,
"height": 20
},
"char": "明"
}
]
}
],
"words_result_num": 2
}
增值税发票识别
- 调用示例
// 增值税发票识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
OCR.getInstance(ctx).recognizeVatInvoice(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
参数
Image 是 File对象 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
type | 否 | string | 可选值:normal/roll 进行识别的增值税发票类型,默认为 normal,可缺省- normal:可识别增值税普票、专票、电子发票- roll:可识别增值税卷票 |
seal_tag | 否 | string | 可选值:true/false 是否开启印章判断功能,并返回印章内容的识别结果- true:开启- false:不开启 |
- 结果返回
{
"words_result": {
"AmountInWords": "",
"InvoiceNumConfirm": "16486500",
"CommodityPrice": [],
"NoteDrawer": "",
"SellerAddress": "无北司列1",
"CommodityNum": [],
"SellerRegisterNum": "",
"MachineCode": "",
"Remarks": "",
"SellerBank": "",
"CommodityTaxRate": [],
"TotalTax": "",
"InvoiceCodeConfirm": "3200092140",
"CheckCode": "",
"InvoiceCode": "3200092140",
"InvoiceDate": "",
"PurchaserRegisterNum": "",
"InvoiceTypeOrg": "江苏增值税专用发票",
"Password": "北兴57号:仟5其江市无无3福南林东道街路12338411889949",
"Agent": "否",
"AmountInFiguers": "",
"PurchaserBank": "",
"Checker": "",
"City": "",
"TotalAmount": "",
"CommodityAmount": [],
"PurchaserName": "北温雄件科技电路规高有限公司",
"CommodityType": [],
"Province": "",
"InvoiceType": "专用发票",
"SheetNum": "",
"PurchaserAddress": "",
"CommodityTax": [],
"CommodityUnit": [],
"Payee": "",
"CommodityName": [],
"SellerName": "",
"InvoiceNum": "16486500"
},
"log_id": 1356821167419162624,
"words_result_num": 38
}
出租车票
// 出租车票识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用出租车发票识别服务
OCR.getInstance(ctx).recognizeTaxireceipt(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
"words_result": {
"Time": "",
"FuelOilSurcharge": "0.00",
"City": "",
"Date": "",
"Province": "",
"Fare": "",
"CallServiceSurcharge": "0.00",
"TotalFare": "",
"TaxiNum": "",
"PricePerkm": "",
"InvoiceCode": "",
"Distance": "",
"Location": "",
"InvoiceNum": ""
},
"log_id": 1356822535122976768,
"words_result_num": 14
}
VIN码
- 调用示例
// VIN码识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用VIN码识别服务
OCR.getInstance(ctx).recognizeVincode(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
{
"words_result": [],
"log_id": 1356823413598978048,
"words_result_num": 0
}
火车票
- 调用示例
// 火车票识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用火车票识别服务
OCR.getInstance(ctx).recognizeTrainticket(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
{
"words_result": {
"date": "",
"starting_station": "",
"ticket_num": "",
"train_num": "",
"ticket_rates": "",
"serial_number": "",
"seat_category": "",
"id_num": "",
"name": "",
"destination_station": "",
"time": "",
"sales_station": "",
"seat_num": ""
},
"log_id": 1356824154413727744,
"words_result_num": 13,
"direction": 3
}
数字识别
- 调用示例
// 数字识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用数字识别服务
OCR.getInstance(ctx).recognizeNumbers(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
{
"log_id": 7693179126190465891,
"words_result_num": 2,
"words_result": [
{
"location": {
"width": 122,
"top": 17,
"left": 102,
"height": 28
},
"words": "0"
},
{
"location": {
"width": 430,
"top": 41,
"left": 2,
"height": 64
},
"words": "105"
}
]
}
二维码识别
- 调用示例
// 二维码识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用二维码识别服务
OCR.getInstance(ctx).recognizeQrcode(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
{
"codes_result": [],
"codes_result_num": 0,
"log_id": 1423221291786076983
}
飞机行程单
- 调用示例
// 行程单识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用行程单识别服务
OCR.getInstance(ctx).recognizeTripTicket(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
{
"log_id": 7306800033425229106,
"words_result_num": 18,
"words_result": {
"insurance": "20.00",
"date": "2019-10-22",
"allow": "20K",
"flight": "CA6589",
"issued_by": "中国国际航空服务有限公司",
"starting_station": "武汉",
"fare": "260.00",
"endorsement": "不得签转改期退转",
"ticket_rates": "350.00",
"ck": "5866",
"serial_number": "51523588676",
"ticket_number": "7843708871196",
"fuel_surcharge": "EXEMPT",
"carrier": "南航",
"issued_date": "2019-10-30",
"other_tax": "",
"fare_basis": "NREOW",
"id_num": "411201123909020877",
"destination_station": "合肥",
"name": "郭达",
"agent_code": "BJS19197300025",
"time": "21:25",
"class": "N",
"dev_fund": "50.00"
}
}
机动车销售发票
- 调用示例
// 机动车销售发票识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用机动车销售发票识别服务
OCR.getInstance(ctx).recognizeVehicleSellInvoice(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
{
"log_id": 283449393728149457,
"words_result_num": 26,
"words_result": {
"InvoiceNum": "00875336",
"Saler": "深圳市新能源汽车销售有限公司",
"LimitPassenger": "5",
"MachineCode": "669745967911",
"VinNum": "LJLGTCRP1J4007581",
"TaxRate": "16%",
"PriceTaxLow": "106100.00",
"InvoiceDate": "2018-11-29",
"Price": "¥91465.52",
"SalerBank": "中国工商银行股份有限公司深圳岭园支行",
"TaxAuthor": "国家锐务总局深圳市龙岗区税务局第五税务所",
"ManuModel": "江淮牌HFC7007EYBD6",
"CertificateNum": "WCH0794J0976801",
"Purchaser": "苏子潇",
"VehicleType": "纯电动轿车",
"InvoiceCode": "14975047560",
"PriceTax": "壹拾万陆仟壹佰圆整",
"SalerPhone": "0755-83489306",
"SalerAddress": "深圳市龙岗区龙岗街道百世国际汽车城",
"Origin": "安徽省合肥市",
"EngineNum": "18958407",
"Tax": "14634.48",
"PurchaserCode": "5135934475603742222",
"TaxAuthorCode": "14037589413",
"SalerAccountNum": "中国工商银行股份有限公司深圳岭园支行",
"SalerCode": "9144928346458292278H"
}
}
车辆合格证
- 调用示例
// 车辆合格证识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用车辆合格证识别服务
OCR.getInstance(ctx).recoginzeVehicleCertificate(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
- 参数 | 字段 | 是否必选 | 类型 | 说明 | | ---------------- | ---- | ------- | ----------------------------------------------------------- | |Image|是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式|
- 结果返回
{
"log_id": 14814098736243057,
"words_result_num": 28,
"direction": 0,
"words_result": {
"ManufactureDate": "2016年10月13日",
"CarColor": "红",
"LimitPassenger": "2",
"EngineType": "WP12.460E50",
"TotalWeight": "25000",
"Power": "338",
"CertificationNo": "WEK29JX98645437",
"FuelType": "汽油",
"Manufacturer": "陕西汽车集团有限责任公司",
"SteeringType": "方向盘",
"Wheelbase": "3175+1350",
"SpeedLimit": "105",
"EngineNo": "1418K129178",
"SaddleMass": "8600",
"AxleNum": "3",
"CarModel": "SX4250MC4",
"VinNo": "LZGJHYD83JX197344",
"CarBrand": "陕汽牌",
"EmissionStandard": "GB17691-2005国V,GB3847-2005",
"Displacement": "11596",
"CertificateDate": "2018年11月28日",
"CarName": "牵引汽车",
"TyreNum": "10",
"ChassisID": "",
"ChassisModel": "",
"SeatingCapacity": "5",
"QualifySeal": "1",
"CGSSeal": "0"
}
}
试卷分析与识别
- 调用示例
// 试卷分析与识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用试卷分析与识别服务
OCR.getInstance(ctx).recognizeExampleDoc(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
{
"results_num": 6,
"log_id": "4488766695474114139",
"img_direction": 0,
"layouts_num": 0,
"results": [
{
"words_type": "print",
"words": {
"words_location": {
"top": 124,
"left": 136,
"width": 418,
"height": 65
},
"word": "五默写(4分)"
},
},
{
"words_type": "handwriting",
"words": {
"words_location": {
"top": 195,
"left": 237,
"width": 469,
"height": 104
},
"word": "采菊东篱下"
},
},
{
"words_type": "print",
"words": {
"words_location": {
"top": 241,
"left": 889,
"width": 287,
"height": 52
},
"word": "悠然见南山"
},
}
]
}
手写文字识别
- 调用示例
// 手写文字识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用手写文字识别服务
OCR.getInstance(ctx).recognizeWrittenText(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
{
"log_id": 620759800,
"words_result": [
{
"location": {
"left": 56,
"top": 0,
"width": 21,
"height": 210
},
"words": "3"
}
],
"words_result_num": 1
}
护照
- 调用示例
// 护照识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用护照识别服务
OCR.getInstance(ctx).recognizePassport(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
{
"log_id": 7377468409496932872,
"words_result_num": 14,
"words_result": {
"国家码": {
"location": {
"width": 59,
"top": 200,
"left": 762,
"height": 26
},
"words": "CHN"
},
"护照签发地点": {
"location": {
"width": 236,
"top": 505,
"left": 558,
"height": 43
},
"words": "山东/SHANDONG"
},
"MRZCode2": {
"location": {
"width": 1252,
"top": 797,
"left": 145,
"height": 88
},
"words": "E898657303CHNSDMO7O2<<<<<<<<<<<<<"
},
"有效期至": {
"location": {
"width": 287,
"top": 528,
"left": 955,
"height": 46
},
"words": "20261004"
},
"签发机关": {
"location": {
"width": 271,
"top": 583,
"left": 552,
"height": 42
},
"words": "出入境管理局"
},
"MRZCode1": {
"location": {
"width": 1201,
"top": 781,
"left": 162,
"height": 45
},
"words": "PONSUN<<JIAJIA<<<<<<<<<<<<<<<<<<<<<<<<<<"
},
"护照号码": {
"location": {
"width": 237,
"top": 215,
"left": 994,
"height": 48
},
"words": "E89865730"
},
"签发日期": {
"location": {
"width": 279,
"top": 453,
"left": 955,
"height": 46
},
"words": "20161005"
},
"出生地点": {
"location": {
"width": 216,
"top": 429,
"left": 564,
"height": 43
},
"words": "山东/SHANDONG"
},
"姓名": {
"location": {
"width": 159,
"top": 247,
"left": 581,
"height": 34
},
"words": "孙嘉佳"
},
"姓名拼音": {
"location": {
"width": 229,
"top": 279,
"left": 578,
"height": 41
},
"words": "SUN,JIAJIA"
},
"国籍": {
"location": {
"width": 209,
"top": 366,
"left": 695,
"height": 42
},
"words": "中国/CHINESE"
},
"生日": {
"location": {
"width": 202,
"top": 382,
"left": 950,
"height": 39
},
"words": "19950723"
},
"性别": {
"location": {
"width": 73,
"top": 357,
"left": 570,
"height": 34
},
"words": "男/M"
}
}
}
户口本
- 调用示例
// 户口本识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用户口本识别服务
OCR.getInstance(ctx).recognizehousehold(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
{
"words_result": {
"Nation": {
"words": "汉族"
},
"Sex": {
"words": "女"
},
"Birthday": {
"words": "1994年7月27日"
},
"Date": {
"words": "2017年7月27日"
},
"BirthAddress": {
"words": "四川省"
},
"Name": {
"words": "王燕"
},
"FormerName ": {
"words": "王佳"
},
"HouseholdNum": {
"words": "000007670"
},
"WWToCity": {
"words": "由久居"
},
"WWHere": {
"words": "1994年07月27日因出生迁来"
},
"CardNo": {
"words": "112102199407273123"
},
"Education": {
"words": "初中毕业"
},
"Relationship": {
"words": "独生女"
},
"Height": {
"words": "170厘米"
},
"Career": {
"words": "无"
},
"WorkAddress": {
"words": "无"
},
"Hometown": {
"words": "四川省"
}
"OtherAddress": {
"words": "四川省乐山市"
}
"Belief": {
"words": "佛教"
}
"BloodType": {
"words": "A型"
}
"MaritalStatus": {
"words": "未婚"
}
"VeteranStatus": {
"words": "无"
}
},
"log_id": "1407164137607266304",
"words_result_num": 22
}
通用机打发票
- 调用示例
// 通用机打发票识别参数设置 OcrRequestParams param = new OcrRequestParams();
// 设置image参数 param.setImageFile(new File(filePath));
// 调用通用机打发票识别服务
OCR.getInstance(ctx).recognizeMachineInvoice(param, new OnResultListener<OcrResponseResult>() {
@Override
public void onResult(OcrResponseResult result) {
listener.onResult(result.getJsonRes());
}
@Override
public void onError(OCRError error) {
listener.onResult(error.getMessage());
}
});
- 参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
Image | 是 | File对象 | 图像数据,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
- 结果返回
{
"log_id": 4423022131715883558,
"direction": 0,
"words_result_num": 22,
"words_result": {
"City": "",
"InvoiceNum": "01445096",
"SellerName": "百度餐饮店",
"IndustrySort": "生活服务",
"Province": "广东省",
"CommodityAmount": [
{
"word": "183.00",
"row": "1"
}
],
"InvoiceDate": "2020年07月28日",
"PurchaserName": "中信建投证券股份有限公司",
"CommodityNum": [],
"InvoiceCode": "144001901511",
"CommodityUnit": [],
"SheetNum": "",
"PurchaserRegisterNum": "9144223008453480X9",
"Time": "",
"CommodityPrice": [],
"AmountInFiguers": "183.00",
"AmountInWords": "壹佰捌拾叁元整",
"CheckCode": "61042119820421061301",
"TotalTax": "183.00",
"InvoiceType": "广东通用机打发票",
"SellerRegisterNum": "61042119820421061301",
"CommodityName": [
{
"word": "餐费",
"row": "1"
}
]
}
}