baiduOCR插件封装了百度AI文字识别功能,使用此插件可实现百度通用文字识别、通用文字识别(高精度版)、通用文字识别(含位置信息版)、通用文字识别(高精度含位置版)、通用文字识别(含生僻字版)、网络图片文字识别、身份证识别、银行卡识别、驾驶证识别、行驶证识别、车牌识别、营业执照识别、通用票据识别。暂仅支持 android 平台。
使用说明:
1、首先要在百度AI开放平台注册账号;
2、创建应用,选择需要使用文字识别选项,然后获取API Key、Secret Key,后面需要使用ak、sk进行百度身份验证;
3、有些选项是需要付费的,若没有付费进行使用,调用相应的接口会返回错写信息;
4、具体操作可参考百度AI开发平台文档;
身份验证错误说明:
对应的是错误码、错误信息、说明
110 Access token invalid or no longer valid Access Token过期失效
283501 License file check error 授权文件不匹配
283502 App identifier unmatch BundleId不匹配
283503 License file not exists 请确认aip.licence文件存在于assets文件夹中
283504 Network error 网络请求失败
283505 Server illegal response 服务器返回数据异常
283506 Load jni so library error JNI加载异常
283601 Server authentication error 身份验证错误
283602 Authentication time error 时间戳不正确,可能是设备时间异常
283604 App identifier unmatch 错误的PackageName或者BundleId
283700 Server internal error 服务器内部错误
识别验证错误说明:
对应的是错误码、错误信息、说明
216015 module closed 插件关闭
216100 invalid param 非法参数
216101 not enough param 参数数量不够
216102 service not support 业务不支持
216103 param too long 参数太长
216110 appid not exist APP ID不存在
216111 invalid userid 非法用户ID
216200 empty image 空的图片
216201 image format error 图片格式错误
216202 image size error 图片大小错误
216300 db error DB错误
216400 backend error 后端系统错误
216401 internal error 内部错误
216500 unknown error 未知错误
216600 id number format error 身份证的ID格式错误
216601 id number and name not match 身份证的ID和名字不匹配
216630 recognize error 识别错误
216631 recognize bank card error 识别银行卡错误(通常为检测不到银行卡)
216632 ocr unknown error
216633 recognize idcard error 识别身份证错误(通常为检测不到身份证)
216634 detect error 检测错误
216635 get mask error 获取mask图片错误
282000 logic internal error 业务逻辑层内部错误
282001 logic backend error 业务逻辑层后端服务错误
282100 image transcode error 图片压缩转码错误
身份验证
initAccessToken({params},callback(ret, err))
ak:
sk:
ret:
内部字段:
{
status: //true or false
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
ak: 'your ak',
sk: 'your sk',
};
baiduOCR.initAccessToken(param, function (ret, err) {
if (ret.status) {
console.log(ret.status);
alert('身份验证成功');
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数ak、sk正确,身份验证在使用前验证一次即可,或是每次请求都先验证也可以。(程序中验证过一次,第二次会直接返回true)
Android系统
可提供的1.0.0及更高版本
通用文字识别
recognizeGeneralBasic({params},callback(ret, err))
filePath:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
};
baiduOCR.recognizeGeneralBasic(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。
Android系统
可提供的1.0.0及更高版本
通用文字识别(高精度版)
recognizeAccurateBasic({params},callback(ret, err))
filePath:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
};
baiduOCR.recognizeAccurateBasic(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。
Android系统
可提供的1.0.0及更高版本
通用文字识别(含位置信息版)
recognizeGeneral({params},callback(ret, err))
filePath:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
};
baiduOCR.recognizeGeneral(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。
Android系统
可提供的1.0.0及更高版本
通用文字识别(高精度含位置信息版)
recognizeAccurate({params},callback(ret, err))
filePath:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
};
baiduOCR.recognizeAccurate(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。
Android系统
可提供的1.0.0及更高版本
通用文字识别(含生僻字版)
recognizeGeneralEnhanced({params},callback(ret, err))
filePath:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
};
baiduOCR.recognizeGeneralEnhanced(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。 这个插件目前是付费插件,所以免费用户调用接口会返回错误。
Android系统
可提供的1.0.0及更高版本
网络图片文字识别
recognizeWebimage({params},callback(ret, err))
filePath:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
};
baiduOCR.recognizeWebimage(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。
Android系统
可提供的1.0.0及更高版本
银行卡识别
recognizeBankCard({params},callback(ret, err))
filePath:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
};
baiduOCR.recognizeBankCard(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。
Android系统
可提供的1.0.0及更高版本
身份证识别
recognizeIDCard({params},callback(ret, err))
filePath:
idCardSide:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
idCardSide: 'front'//正面,反面为back
};
baiduOCR.recognizeIDCard(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath、idCardSide正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。
Android系统
可提供的1.0.0及更高版本
行驶证识别
recognizeVehicleLicense({params},callback(ret, err))
filePath:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
};
baiduOCR.recognizeVehicleLicense(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。
Android系统
可提供的1.0.0及更高版本
驾驶证识别
recognizeDrivingLicense({params},callback(ret, err))
filePath:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
};
baiduOCR.recognizeDrivingLicense(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。
Android系统
可提供的1.0.0及更高版本
车牌识别
recognizeLicensePlate({params},callback(ret, err))
filePath:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
};
baiduOCR.recognizeLicensePlate(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。
Android系统
可提供的1.0.0及更高版本
营业执照识别
recognizeBusinessLicense({params},callback(ret, err))
filePath:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
};
baiduOCR.recognizeBusinessLicense(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。
Android系统
可提供的1.0.0及更高版本
通用票据识别
recognizeReceipt({params},callback(ret, err))
filePath:
ret:
内部字段:
{
content: //返回识别的json字符串数据
}
err:
内部字段:
{
msg: //返回错误信息
}
var baiduOCR= api.require('baiduOCR');
var param = {
filePath: 'your filePath',
};
baiduOCR.recognizeReceipt(param, function (ret, err) {
if (ret.status) {
console.log(ret.content);
alert('识别的数据' + '\n' + ret.content);
} else {
console.log(err.msg);
alert('错误信息:' + err.msg);
}
});
请确保参数filePath正确,返回的失败json字符串,可以在前端进行JSON.parse(ret.content)转换,然后根据你自己的需求获取你想要的数据。
Android系统
可提供的1.0.0及更高版本