baiduTextReader模块封装了百度云文本识别的sdk(文字识别,网图文字识别,银行卡识别,行驶证识别,驾驶证识别,车牌识别,身份证正反面识别,营业执照识别,票据识别),识别准确率非常高,包括
此模块需要IOS 8.0以上系统或者android 4.0以上系统,请在云编译高级设置中进行配置
使用此模块前,需要先去百度的AI开放平台,创建应用,填写ios和安卓的包名,获取apiKey和secretKey。
apiKey和secretKey是本模块必须要用到的参数,可以在config文件中配置,或者在调用方法的时候设置,两种方法都可以。
config文件配置示例
<feature name="baiduTextReader">
<param name="apiKey" value="aP0XNtXltVyv8hDfI2bRxANL"/>
<param name="secretKey" value="4pAD985lbtobCp5Iry32YGfyWr59tOsH"/>
</feature>
# **requestToken**
向百度云请求token,调用识别前需要请求token,可以请求一次,也可以每次调用前都请求。
requestToken(params, callback(ret, err))
##params apiKey:
secretKey:
##callback(ret, err) ret:
{
token: //获取到的token值
}
err:
{
code: //整数类型;错误码,取值范围如下
//0:apiKey或者secretKey未设置
//-1:异常型错误
msg: //字符串类型;错误描述
}
##示例代码
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.requestToken({
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
# **recGeneral**
通用文字识别(含文字位置信息)
recGeneral(params, callback(ret, err))
##params image:
recognize_granularity:
big:不定位(默认值)
small:定位
language_type:
CHN_ENG:中英文混合(默认值)
ENG:英文
POR:葡萄牙语
FRE:法语
GER:德语
ITA:意大利语
SPA:西班牙语
RUS:俄语
JAP:日语
detect_direction:
false:不检测朝向(默认值)
true:检测朝向
detect_language:
false:不检测(默认值)
true:检测
vertexes_location:
false:不返回(默认值)
true:返回
#callback(ret, err) ret:
{
words_result_num: //识别结果数,表示words_result的元素个数
log_id: //唯一的log id,用于问题定位
words_result: [ //定位和识别结果数组
{
words: //识别结果字符串
location:{
top: //定位位置长方形顶点垂直坐标
width: //定位位置长方形宽度
height: //定位位置长方形高度
left: //定位位置长方形左边水平坐标
}
},
...
]
}
err:
{
code: //整数类型;错误码,取值范围如下
//-1:异常型错误
//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.图片压缩转码错误
msg: //字符串类型;错误描述
}
##示例代码1 ---- 从文件系统选取图片
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recGeneral({
image:'fs://image/test.jpg'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
##示例代码2 ---- 拍照识别
api.getPicture({
sourceType: 'camera',
encodingType: 'jpg',
mediaValue: 'pic',
destinationType: 'url',
allowEdit: true,
quality: 50,
targetWidth:2000,
saveToPhotoAlbum: false
}, function(ret, err) {
if (ret)
{
alert(JSON.stringify(ret));
if(ret.data && ret.data != '')
{
var imgPath = ret.data;
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recGeneral({
image:imgPath
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
} else {
alert(JSON.stringify(err));
}
});
##补充说明 配合切图模块使用效果更好
##可用性 iOS系统,Android系统
可提供的1.0.0及更高版本
# **recGeneralBasic** 通用文字识别(不含文字位置信息) recGeneralBasic(params, callback(ret, err))##params image:
language_type:
CHN_ENG:中英文混合(默认值)
ENG:英文
POR:葡萄牙语
FRE:法语
GER:德语
ITA:意大利语
SPA:西班牙语
RUS:俄语
JAP:日语
detect_direction:
false:不检测朝向(默认值)
true:检测朝向
detect_language:
false:不检测(默认值)
true:检测
#callback(ret, err) ret:
{
words_result_num: //识别结果数,表示words_result的元素个数
log_id: //唯一的log id,用于问题定位
words_result: [ //定位和识别结果数组
{
words: //识别结果字符串
},
...
]
}
err:
{
code: //整数类型;错误码,取值范围同recGeneral
msg: //字符串类型;错误描述
}
##示例代码1 ---- 从文件系统选取图片
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recGeneralBasic({
image:'fs://image/test.jpg'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
##示例代码2 ---- 拍照识别
api.getPicture({
sourceType: 'camera',
encodingType: 'jpg',
mediaValue: 'pic',
destinationType: 'url',
allowEdit: true,
quality: 50,
targetWidth:2000,
saveToPhotoAlbum: false
}, function(ret, err) {
if (ret)
{
alert(JSON.stringify(ret));
if(ret.data && ret.data != '')
{
var imgPath = ret.data;
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recGeneralBasic({
image:imgPath
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
} else {
alert(JSON.stringify(err));
}
});
##补充说明 配合切图模块使用效果更好
##可用性 iOS系统,Android系统
可提供的1.0.0及更高版本
# **recGeneralEnhanced** 通用文字识别(含生僻字) ,这个功能百度不能免费试用,试用需交费 recGeneralEnhanced(params, callback(ret, err))##params image:
language_type:
CHN_ENG:中英文混合(默认值)
ENG:英文
POR:葡萄牙语
FRE:法语
GER:德语
ITA:意大利语
SPA:西班牙语
RUS:俄语
JAP:日语
detect_direction:
false:不检测朝向(默认值)
true:检测朝向
detect_language:
false:不检测(默认值)
true:检测
#callback(ret, err) ret:
{
words_result_num: //识别结果数,表示words_result的元素个数
log_id: //唯一的log id,用于问题定位
words_result: [ //定位和识别结果数组
{
words: //识别结果字符串
},
...
]
}
err:
{
code: //整数类型;错误码,取值范围同recGeneral
msg: //字符串类型;错误描述
}
##示例代码1 ---- 从文件系统选取图片
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recGeneralEnhanced({
image:'fs://image/test.jpg'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
##示例代码2 ---- 拍照识别
api.getPicture({
sourceType: 'camera',
encodingType: 'jpg',
mediaValue: 'pic',
destinationType: 'url',
allowEdit: true,
quality: 50,
targetWidth:2000,
saveToPhotoAlbum: false
}, function(ret, err) {
if (ret)
{
alert(JSON.stringify(ret));
if(ret.data && ret.data != '')
{
var imgPath = ret.data;
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recGeneralEnhanced({
image:imgPath
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
} else {
alert(JSON.stringify(err));
}
});
##补充说明 配合切图模块使用效果更好
##可用性 iOS系统,Android系统
可提供的1.0.0及更高版本
# **recBankCard** 银行卡识别 recBankCard(params, callback(ret, err))##params image:
#callback(ret, err) ret:
{
log_id: //唯一的log id,用于问题定位
result: [ //定位和识别结果数组
{
bank_card_number: //银行卡识别结果
bank_name: //银行名,不能识别时为空
bank_card_type: /银行卡类型,0:不能识别; 1: 借记卡; 2: 信用卡
},
...
]
}
err:
{
code: //整数类型;错误码,取值范围同recGeneral
msg: //字符串类型;错误描述
}
##示例代码1 ---- 从文件系统选取图片
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recBankCard({
image:'fs://image/test.jpg'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
##示例代码2 ---- 拍照识别
api.getPicture({
sourceType: 'camera',
encodingType: 'jpg',
mediaValue: 'pic',
destinationType: 'url',
allowEdit: true,
quality: 50,
targetWidth:2000,
saveToPhotoAlbum: false
}, function(ret, err) {
if (ret)
{
alert(JSON.stringify(ret));
if(ret.data && ret.data != '')
{
var imgPath = ret.data;
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recBankCard({
image:imgPath
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
} else {
alert(JSON.stringify(err));
}
});
##补充说明 配合切图模块使用效果更好
##可用性 iOS系统,Android系统
可提供的1.0.0及更高版本
# **recVehicleLicense** 行驶证识别 recVehicleLicense(params, callback(ret, err))##params image:
detect_direction:
false:不检测朝向(默认值)
true:检测朝向
accuracy:
normal:使用快速服务,1200ms左右时延
缺省或者其他值:使用高精度服务,1600ms左右时延
#callback(ret, err) ret:
{
words_result_num: //识别结果数,表示words_result的元素个数
log_id: //唯一的log id,用于问题定位
words_result: [ //定位和识别结果数组
{
words: //识别结果字符串
},
...
]
}
err:
{
code: //整数类型;错误码,取值范围同recGeneral
msg: //字符串类型;错误描述
}
##示例代码1 ---- 从文件系统选取图片
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recVehicleLicense({
image:'fs://image/test.jpg'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
##示例代码2 ---- 拍照识别
api.getPicture({
sourceType: 'camera',
encodingType: 'jpg',
mediaValue: 'pic',
destinationType: 'url',
allowEdit: true,
quality: 50,
targetWidth:2000,
saveToPhotoAlbum: false
}, function(ret, err) {
if (ret)
{
alert(JSON.stringify(ret));
if(ret.data && ret.data != '')
{
var imgPath = ret.data;
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recVehicleLicense({
image:imgPath
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
} else {
alert(JSON.stringify(err));
}
});
##补充说明 配合切图模块使用效果更好
##可用性 iOS系统,Android系统
可提供的1.0.0及更高版本
# **recDrivingLicense** 驾驶证识别 recDrivingLicense(params, callback(ret, err))##params image:
detect_direction:
false:不检测朝向(默认值)
true:检测朝向
#callback(ret, err) ret:
{
words_result_num: //识别结果数,表示words_result的元素个数
log_id: //唯一的log id,用于问题定位
words_result: [ //定位和识别结果数组
{
words: //识别结果字符串
},
...
]
}
err:
{
code: //整数类型;错误码,取值范围同recGeneral
msg: //字符串类型;错误描述
}
##示例代码1 ---- 从文件系统选取图片
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recDrivingLicense({
image:'fs://image/test.jpg'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
##示例代码2 ---- 拍照识别
api.getPicture({
sourceType: 'camera',
encodingType: 'jpg',
mediaValue: 'pic',
destinationType: 'url',
allowEdit: true,
quality: 50,
targetWidth:2000,
saveToPhotoAlbum: false
}, function(ret, err) {
if (ret)
{
alert(JSON.stringify(ret));
if(ret.data && ret.data != '')
{
var imgPath = ret.data;
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recDrivingLicense({
image:imgPath
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
} else {
alert(JSON.stringify(err));
}
});
##补充说明 配合切图模块使用效果更好
##可用性 iOS系统,Android系统
可提供的1.0.0及更高版本
# **recLicensePlate** 车牌识别 recLicensePlate(params, callback(ret, err))##params image:
#callback(ret, err) ret:
{
log_id: //唯一的log id,用于问题定位
words_result: [ //定位和识别结果数组
{
color: //车牌颜色,如"blue"
number: //车牌号码,示例:"苏HS7766"
},
...
]
}
err:
{
code: //整数类型;错误码,取值范围同recGeneral
msg: //字符串类型;错误描述
}
##示例代码1 ---- 从文件系统选取图片
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recLicensePlate({
image:'fs://image/test.jpg'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
##示例代码2 ---- 拍照识别
api.getPicture({
sourceType: 'camera',
encodingType: 'jpg',
mediaValue: 'pic',
destinationType: 'url',
allowEdit: true,
quality: 50,
targetWidth:2000,
saveToPhotoAlbum: false
}, function(ret, err) {
if (ret)
{
alert(JSON.stringify(ret));
if(ret.data && ret.data != '')
{
var imgPath = ret.data;
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recLicensePlate({
image:imgPath
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
} else {
alert(JSON.stringify(err));
}
});
##补充说明 配合切图模块使用效果更好
##可用性 iOS系统,Android系统
可提供的1.0.0及更高版本
# **recIdCardFrontFromImage** 身份证正面识别 recIdCardFrontFromImage(params, callback(ret, err))##params image:
#callback(ret, err) ret:
{
words_result_num: //识别结果数,表示words_result的元素个数
log_id: //唯一的log id,用于问题定位
words_result: [ //定位和识别结果数组
{
words: //识别结果字符串
},
...
]
}
err:
{
code: //整数类型;错误码,取值范围同recGeneral
msg: //字符串类型;错误描述
}
##示例代码1 ---- 从文件系统选取图片
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recIdCardFrontFromImage({
image:'fs://image/test.jpg'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
##示例代码2 ---- 拍照识别
api.getPicture({
sourceType: 'camera',
encodingType: 'jpg',
mediaValue: 'pic',
destinationType: 'url',
allowEdit: true,
quality: 50,
targetWidth:2000,
saveToPhotoAlbum: false
}, function(ret, err) {
if (ret)
{
alert(JSON.stringify(ret));
if(ret.data && ret.data != '')
{
var imgPath = ret.data;
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recIdCardFrontFromImage({
image:imgPath
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
} else {
alert(JSON.stringify(err));
}
});
##补充说明 配合切图模块使用效果更好
##可用性 iOS系统,Android系统
可提供的1.0.0及更高版本
# **recIdCardBackFromImage** 身份证反面识别 recIdCardBackFromImage(params, callback(ret, err))##params image:
#callback(ret, err) ret:
{
words_result_num: //识别结果数,表示words_result的元素个数
log_id: //唯一的log id,用于问题定位
words_result: [ //定位和识别结果数组
{
words: //识别结果字符串
},
...
]
}
err:
{
code: //整数类型;错误码,取值范围同recGeneral
msg: //字符串类型;错误描述
}
##示例代码1 ---- 从文件系统选取图片
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recIdCardBackFromImage({
image:'fs://image/test.jpg'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
##示例代码2 ---- 拍照识别
api.getPicture({
sourceType: 'camera',
encodingType: 'jpg',
mediaValue: 'pic',
destinationType: 'url',
allowEdit: true,
quality: 50,
targetWidth:2000,
saveToPhotoAlbum: false
}, function(ret, err) {
if (ret)
{
alert(JSON.stringify(ret));
if(ret.data && ret.data != '')
{
var imgPath = ret.data;
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recIdCardBackFromImage({
image:imgPath
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
} else {
alert(JSON.stringify(err));
}
});
##补充说明 配合切图模块使用效果更好
##可用性 iOS系统,Android系统
可提供的1.0.0及更高版本
# **recBusinessLicense** 营业执照识别 recBusinessLicense(params, callback(ret, err))##params image:
#callback(ret, err) ret:
{
words_result_num: //识别结果数,表示words_result的元素个数
log_id: //唯一的log id,用于问题定位
words_result: [ //定位和识别结果数组
{
words: //识别结果字符串
},
...
]
}
err:
{
code: //整数类型;错误码,取值范围同recGeneral
msg: //字符串类型;错误描述
}
##示例代码1 ---- 从文件系统选取图片
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recBusinessLicense({
image:'fs://image/test.jpg'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
##示例代码2 ---- 拍照识别
api.getPicture({
sourceType: 'camera',
encodingType: 'jpg',
mediaValue: 'pic',
destinationType: 'url',
allowEdit: true,
quality: 50,
targetWidth:2000,
saveToPhotoAlbum: false
}, function(ret, err) {
if (ret)
{
alert(JSON.stringify(ret));
if(ret.data && ret.data != '')
{
var imgPath = ret.data;
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recBusinessLicense({
image:imgPath
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
} else {
alert(JSON.stringify(err));
}
});
##补充说明 配合切图模块使用效果更好
##可用性 iOS系统,Android系统
可提供的1.0.0及更高版本
# **recReceipt** 票据识别 recReceipt(params, callback(ret, err))##params image:
#callback(ret, err) ret:
{
words_result_num: //识别结果数,表示words_result的元素个数
log_id: //唯一的log id,用于问题定位
words_result: [ //定位和识别结果数组
{
words: //识别结果字符串
},
...
]
}
err:
{
code: //整数类型;错误码,取值范围同recGeneral
msg: //字符串类型;错误描述
}
##示例代码1 ---- 从文件系统选取图片
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recReceipt({
image:'fs://image/test.jpg'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
##示例代码2 ---- 拍照识别
api.getPicture({
sourceType: 'camera',
encodingType: 'jpg',
mediaValue: 'pic',
destinationType: 'url',
allowEdit: true,
quality: 50,
targetWidth:2000,
saveToPhotoAlbum: false
}, function(ret, err) {
if (ret)
{
alert(JSON.stringify(ret));
if(ret.data && ret.data != '')
{
var imgPath = ret.data;
var baiduTextReader = api.require('baiduTextReader');
baiduTextReader.recReceipt({
image:imgPath
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
} else {
alert(JSON.stringify(err));
}
});
##补充说明 配合切图模块使用效果更好
##可用性 iOS系统,Android系统
可提供的1.0.0及更高版本