欢迎来到本网站

全国统一咨询热线:158-2196-7367

新闻中心

新闻中心News Center

联系方式

联系方式Contact infoemation

电话:158-2196-7367

邮箱:amy@hanett.com

地址:中国·上海市金山区朱泾镇南横街4号4幢1296室H座

当前位置:明翔网络 > 公司资讯 > 微信小程序接入百度OCR

微信小程序接入百度OCR

文章出处:http://www.ucunicom.com/a/1005.html 阅读量:18 发表时间:03-10 14:54
公司资讯
<h3 id="微信小程序接入百度ocr身份证识别" style="margin: 0.3rem 0px 0.1333rem; padding: 0px; color: var(--TextColor1); line-height: 1.5; font-size: 16px;">微信小程序接入百度OCR(身份证识别)

1.接口描述

支持对二代居民身份证正反面所有8个字段进行结构化识别,包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限,识别准确率超过99%;同时支持身份证正面头像检测,并返回头像切片的base64编码及位置信息。

同时,支持对用户上传的身份证图片进行图像风险和质量检测,可识别图片是否为复印件或临时身份证,是否被翻拍或编辑,是否存在正反颠倒、模糊、欠曝、过曝等质量问题。

Body中放置请求参数,参数详情如下:

请求参数

参数是否必选类型可选值范围说明image是string-图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式id_card_side是stringfront/backfront:身份证含照片的一面;back:身份证带国徽的一面detect_direction否stringtrue/false是否检测图像旋转角度,默认检测,即:true。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测旋转角度; - false:不检测旋转角度。detect_risk否stringtrue/false是否开启身份证风险类型(身份证复印件、临时身份证、身份证翻拍、修改过的身份证)功能,默认不开启,即:false。可选值:true-开启;false-不开启detect_photo否stringtrue/false是否检测头像内容,默认不检测。可选值:true-检测头像并返回头像的 base64 编码及位置信息detect_rectify否stringtrue/false是否进行完整性校验,默认为true,需上传各字段内容完善的图片方可识别;如果设置为false,则对于身份证切片(如仅身份证号区域)也可识别

2.小程序端调用

需要参数access_token,存放在云数据库中,并定时刷新,不明白如何获取并定时刷新的参考文章:

[小程序开发技巧总结(三)-- 云开发时效数据刷新和存储 (access_token等)]

2.1 自定义文件 profunc.js,实现函数并封装

function OcrIdCard(access_token){  return new Promise(function(resolve,reject){    var that = this;    //识别身份证
    wx.chooseImage({      count: 1,      sizeType: ['compressed'],      sourceType: ['album', 'camera'],      success: function (res) {        console.log(res.tempFilePaths)
        wx.getFileSystemManager().readFile({          filePath: res.tempFilePaths[0],          encoding: 'base64', //编码格式
          success(ans) {            // console.log(ans.data)
            wx.showLoading({ title: '识别中' })
            wx.request({              url: 'https://aip.baidubce.com/rest/2.0/ocr/v1/idcard?access_token=' + access_token,              method: 'POST',              header: {                'Content-Type': 'application/x-www-form-urlencoded'
              },              data: {                image: ans.data,                id_card_side: 'front'
              },
              success(_res) {
                wx.hideLoading();
                resolve(_res)
                
              }, fail(_res) {
                wx.hideLoading();
                wx.showToast({                  title: '请求出错',
                })
                reject(_res)
              }
            })
          }
        })
      }
    })
  })
}module.exports = {  OcrIdCard: OcrIdCard
}

2.2 在小程序页面引用,需要传入access_token

const cwx = require('profunc.js'); //在小程序页面引入该js 文件...
ocridcard(){      var that = this;
      cwx.OcrIdCard(that.data.access_token).then(function(_res){        var trdata = _res.data.words_result;        console.log(trdata)
        that.setData({          name: trdata['姓名'].words,          idcard: trdata['公民身份号码'].words,          userloc: trdata['住址'].words
        })
    })      
}

3.效果展示

接口返回数据如下


全国咨询热线:158-2196-7367

二维码

地址:中国·上海市金山区朱泾镇南横街4号4幢1296室H座

版权所有 © 1999-2017 Copyright © 1999-2017 All Rights Reserved

cache
Processed in 0.003503 Second.