twoBaiDuOcr

来自于:开发者立即使用

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配置

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

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

initAccessToken

初始化

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

ret:

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

示例代码


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

可用性

Android系统 ,iOS系统

可提供的1.0.0及更高版本

idCardFront

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

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

ret:

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

}

示例代码

twoBaiDuOcr.idCardFront({}, function(ret, err) {
    if (ret.status) {
        alert(JSON.stringify(ret));
    } else {
        alert(err);
    }

可用性

Android系统 ,iOS系统

可提供的1.0.0及更高版本

idCardBack

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

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

ret:

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

}

示例代码

twoBaiDuOcr.idCardBack({}, function(ret, err) {
    if (ret.status) {
        alert(JSON.stringify(ret));
    } else {
        alert(err);
    }

可用性

Android系统 ,iOS系统

可提供的1.0.0及更高版本

bankcard

银行卡识别

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

ret:

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


}

示例代码

var twoBaiDuOcr = api.require('twoBaiDuOcr');
twoBaiDuOcr.bankcard({ 
}, function(ret, err) {
    if (ret.status) {
        alert(JSON.stringify(ret));
    } else {
        alert(err);
    }
});

可用性

Android系统 ,iOS系统

可提供的1.0.0及更高版本

vehicleLicense

行驶证识别

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

ret:

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

}

示例代码

var twoBaiDuOcr = api.require('twoBaiDuOcr');
twoBaiDuOcr.vehicleLicense({ 
}, function(ret, err) {
    if (ret.status) {
        alert(JSON.stringify(ret));
    } else {
        alert(err);
    }
});

可用性

Android系统 ,iOS系统

可提供的1.0.0及更高版本