twoBaiDuOcr

来自于:开发者立即使用

initAccessToken idCardFront idCardBack bankcard vehicleLicense

twoBaiDuOcr 模块概述

1、封装百度ocr识别模块包括身份证识别、银行卡识别、行驶证识别,使用简单友好,去除官方中文key值和无用字段,身份证识别开启风险监测;银行卡识别银行卡并返回卡号、有效期、发卡行和卡片类型;行驶证识别对机动车行驶证主页及副页所有21个字段进行结构化识别。

2、支持对大陆居民二代身份证正反面的所有字段进行结构化识别,包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限;同时,支持对用户上传的身份证图片进行图像风险和质量检测,可识别图片是否为复印件或临时身份证,是否被翻拍或编辑,是否存在正反颠倒、模糊、欠曝、过曝等质量问题。

3、百度ocr sdk ,android sdk版本1.4.4, iOS sdk版本3.0.3

4、百度ocr收费标准:身份证识别500次/天免费 + 超出按量计费 ,银行卡识别500次/天免费 + 超出按量计费,行驶证识别200次/天免费+ 超出按量计费,本模块使用费不包括百度收取的费用。

注意事项:

首先在百度AI开放平台上申请账号,新建文字识别应用,

其次在工程文件config.xml配置

  1. <feature name="twoBaiDuOcr">
  2. <param name="apiKey" value="填写百度文字识别API Key"/>
  3. <param name="secretKey" value="填写百度文字识别Secret Key"/>
  4. </feature>

在使用的页面,先调用初始化方法,再使用,一定要放在页面初始化后apiready方法中,参见下面的示例代码:

initAccessToken

初始化

initAccessToken({}, callback(ret, err))

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: boolean //布尔型true||false;是否初始化成功,true表示成功,false表示失败
  3. msg:string //字符串类型;提示信息
  4. }

示例代码

  1. var twoBaiDuOcr = null;
  2. apiready = function () {
  3. api.setStatusBarStyle({
  4. style: 'dark',
  5. color: '#6ab494'
  6. });
  7. twoBaiDuOcr = api.require('twoBaiDuOcr');
  8. var param={}
  9. twoBaiDuOcr.initAccessToken(param,function(ret, err){
  10. if (api.systemType != 'ios'){
  11. // 初始化身份证本地质量控制,只用android版本需要,如果不识别身份证,可以删除此方法
  12. twoBaiDuOcr.initCameraNative({ }, function(ret, err) {
  13. });
  14. }
  15. })
  16. }

可用性

Android系统 ,iOS系统

可提供的1.0.0及更高版本

idCardFront

身份证正面识别,android版本需要初始化自动对焦控制器,ios不需要。

idCardFront({}, callback(ret, err))

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型true||false;是否成功,true表示成功,false表示失败
  3. imagePath: string , //字符串类型;照片保存路径
  4. riskType: string , //字符串类型;normal-正常身份证;copy-复印件;temporary-临时身份证;screen-翻拍;unknown-其他未知情况
  5. imageStatus: string , //字符串类型;normal-识别正常,reversed_side-身份证正反面颠倒,non_idcard-上传的图片中不包含身份证
  6. // blurred-身份证模糊
  7. // other_type_card-其他类型证照
  8. // over_exposure-身份证关键字段反光或过曝
  9. // over_dark-身份证欠曝(亮度过低)
  10. // unknown-未知状态
  11. idCardSide: string , //字符串类型;front:身份证含照片的一面;back:身份证带国徽的一面
  12. address: string , //字符串类型;地址
  13. birthday: string , //字符串类型;生日
  14. idNumber: string , //字符串类型;身份证号
  15. ethnic: string , //字符串类型;民族
  16. gender: string , //字符串类型;性别
  17. name: string //字符串类型;姓名
  18. }

示例代码

  1. twoBaiDuOcr.idCardFront({}, function(ret, err) {
  2. if (ret.status) {
  3. alert(JSON.stringify(ret));
  4. } else {
  5. alert(err);
  6. }

可用性

Android系统 ,iOS系统

可提供的1.0.0及更高版本

idCardBack

身份证背面识别,android版本需要初始化自动对焦控制器,ios不需要。

idCardBack({}, callback(ret, err))

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型true||false;是否成功,true表示成功,false表示失败
  3. imagePath: string , //字符串类型;照片保存路径
  4. riskType: string , //字符串类型;normal-正常身份证;copy-复印件;temporary-临时身份证;screen-翻拍;unknown-其他未知情况
  5. imageStatus: string , //字符串类型;normal-识别正常,reversed_side-身份证正反面颠倒,non_idcard-上传的图片中不包含身份证
  6. // blurred-身份证模糊
  7. // other_type_card-其他类型证照
  8. // over_exposure-身份证关键字段反光或过曝
  9. // over_dark-身份证欠曝(亮度过低)
  10. // unknown-未知状态
  11. idCardSide: string , //字符串类型;front:身份证含照片的一面;back:身份证带国徽的一面
  12. expiryDate: string , //字符串类型;身份证失效时间
  13. issueAuthority: string , //字符串类型;身份证签发机关
  14. signDate: string //字符串类型;发证日期
  15. }

示例代码

  1. twoBaiDuOcr.idCardBack({}, function(ret, err) {
  2. if (ret.status) {
  3. alert(JSON.stringify(ret));
  4. } else {
  5. alert(err);
  6. }

可用性

Android系统 ,iOS系统

可提供的1.0.0及更高版本

bankcard

银行卡识别

bankcard({}, callback(ret, err))

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型true||false;是否成功,true表示成功,false表示失败
  3. imagePath: string , //字符串类型;照片保存路径
  4. bankName: string , //字符串类型;所属银行
  5. bankCardType: string , //字符串类型;银行卡类型 ,0:不能识别; 1: 借记卡; 2: 信用卡
  6. bankCardNumber: string , //字符串类型;银行卡号
  7. }

示例代码

  1. var twoBaiDuOcr = api.require('twoBaiDuOcr');
  2. twoBaiDuOcr.bankcard({
  3. }, function(ret, err) {
  4. if (ret.status) {
  5. alert(JSON.stringify(ret));
  6. } else {
  7. alert(err);
  8. }
  9. });

可用性

Android系统 ,iOS系统

可提供的1.0.0及更高版本

vehicleLicense

行驶证识别

vehicleLicense({}, callback(ret, err))

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型true||false;是否成功,true表示成功,false表示失败
  3. imagePath: string , //字符串类型;照片保存路径
  4. brandModel: string , //字符串类型;品牌型号
  5. issueDate: string , //字符串类型;发证日期
  6. usageNature: string , //字符串类型;使用性质
  7. engineNumber: string , //字符串类型;发动机号码
  8. licenseNumber: string , //字符串类型;号牌号码
  9. owner: string , //字符串类型;所有人
  10. adress: string , //字符串类型;住址
  11. registrationDate: string , //字符串类型;注册日期
  12. vehicleCode: string , //字符串类型;车辆识别代号
  13. vehicleType: string //字符串类型;车辆类型
  14. }

示例代码

  1. var twoBaiDuOcr = api.require('twoBaiDuOcr');
  2. twoBaiDuOcr.vehicleLicense({
  3. }, function(ret, err) {
  4. if (ret.status) {
  5. alert(JSON.stringify(ret));
  6. } else {
  7. alert(err);
  8. }
  9. });

可用性

Android系统 ,iOS系统

可提供的1.0.0及更高版本