VUE element-ui之百度OCR证件识别,组件内证件照转码解码识别身份证照文字

本文涉及的产品
自定义KV模板,自定义KV模板 500次/账号
文档理解,结构化解析 100页
企业资质识别,企业资质识别 200次/月
简介: VUE element-ui之百度OCR证件识别,组件内证件照转码解码识别身份证照文字

步骤:

接上一篇博文继续完善获取access_token
封装Base64照片转码方法:

const identification = {
  // 将图片转为base64格式
  transformBase64(file) {
    return new Promise((resolve, reject) => {
      var reader = new FileReader()
      reader.readAsDataURL(file)
      reader.onload = function(e) {
        resolve(e.target.result)
      }
    })
  },
  // carIdentify(ocrImg) {
  //   return new Promise((resolve, reject) => {
  //     var params = new FormData()
  //     params.append('image', ocrImg)
  //     params.append('detect_direction', true)
  //     params.append('vehicle_license_side', 'front')
  //     params.append('access_token', this.access_token)
  //     axios.post('/baiduApi/rest/2.0/ocr/v1/vehicle_license?access_token', params,
  //       { headers: { 'content-type': 'application/x-www-form-urlencoded' }}
  //     ).then((res) => {
  //       resolve(res.data.words_result)
  //     })
  //   })
  // }

}

export default identification

组件内引用:

import axios from 'axios'
import identification from '@/utils/identification'

定义请求百度OCR身份证识别方法:

methods: {
    // 身份证文字识别
    idCardIdentify(idCardImg) {
      return new Promise((resolve, reject) => {
        var params = new FormData()
        params.append('image', idCardImg)//转Base64后的编码
        params.append('id_card_side', 'back')//身份证正反面参数,正:front,反:back
        params.append('access_token', this.access_token)
        axios.post(
          '/baiduApi/rest/2.0/ocr/v1/idcard?', params,
          { headers: { 'Content-Type': 'application/x-www-form-urlencoded' }}
        ).then((res) => {
          resolve(res.data.words_result)
        })
      })
    }
}

el-uplod组件中定义文件发生变化时的钩子:

<el-upload
    class="avatar-uploader"
    action="#"
    :auto-upload="false"
    :show-file-list="false"
    :on-change="changePictureUploadIDBack"
>
// 文件发生变化时的钩子
    changePictureUploadIDBack(file, fileList) {
      identification.transformBase64(file.raw).then(data => {//调用封装的base64转码方法
        console.log(`Base64---`, data)
        this.idCardIdentify(data).then(res => {//调用请求百度OCR身份证识别方法,将Base64传入
          console.log(`ocr识别----`, res)
        })
      })

点击上传身份证反面照片成功后:
在这里插入图片描述
可以看到直接识别出身份证上有效文字。

结合上一篇博文,到此纯前端调用百度在线接口识别身份证文字全部走通,本人亲自调试,可直接cv使用,希望可以帮助到您,记得送上您免费的赞。

相关文章
|
3月前
|
JavaScript
Ant Design Vue UI框架的基础使用,及通用后台管理模板的小demo【简单】
这篇文章介绍了如何使用Ant Design Vue UI框架创建一个简单的后台管理模板,包括创建Vue项目、安装和使用ant-design-vue、以及编写后台管理通用页面的代码和样式。
Ant Design Vue UI框架的基础使用,及通用后台管理模板的小demo【简单】
|
4月前
|
JavaScript
vue element-ui 中el-message重复弹出问题解决 el-message重复弹出解决办法
vue element-ui 中el-message重复弹出问题解决 el-message重复弹出解决办法
263 49
|
2月前
|
JavaScript 索引
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
143 0
|
4月前
|
JavaScript 前端开发 安全
[译] 在 Vue 组件中分离 UI 和业务逻辑。
[译] 在 Vue 组件中分离 UI 和业务逻辑。
|
4月前
|
JavaScript 开发者 UED
Vue.js组件库大对决:Element UI与Vuetify,开发者的罗密欧与朱丽叶!
【8月更文挑战第30天】Element UI和Vuetify是Vue.js开发中的热门组件库,前者简洁高效,后者遵循Material Design,国际化程度高。两者均提供丰富的组件支持,但Vuetify组件更多样,设计更灵活;Element UI在性能和中文支持上更优。文档方面,Element UI更直观易懂,而Vuetify配置灵活但学习成本稍高。选择时需综合考虑项目需求、团队背景及设计风格,以达到最佳开发效果。
206 0
|
4月前
|
JavaScript 前端开发
Vue实现Element UI框架的自定义输入框或下拉框在输入时对列表选项进行过滤,以及右键列表选项弹出菜单进行删除
本文介绍了如何在Vue框架结合Element UI库实现自定义输入框或下拉框,在输入时对列表选项进行过滤,并支持右键点击列表选项弹出菜单进行删除的功能。
93 0
|
4月前
|
JavaScript 容器
Vue+Element UI
该博客文章介绍了如何在Vue中集成Element UI来构建后台管理系统的左侧菜单,包括使用`el-menu`、`el-submenu`和`el-menu-item`等组件,并通过Vue router动态构建菜单项及其路由设置。
|
5月前
|
JavaScript
vue + element UI 表单中内嵌自定义组件的表单校验触发方案
vue + element UI 表单中内嵌自定义组件的表单校验触发方案
165 5
|
5月前
|
前端开发 JavaScript
零基础学 Vue + Element UI 第01步 —— 搭建开发环境、创建项目、修改默认模板、启动项目、访问项目
零基础学 Vue + Element UI 第01步 —— 搭建开发环境、创建项目、修改默认模板、启动项目、访问项目
73 1
|
5月前
|
JavaScript
vue + element UI【实战】音乐播放器/语音条(内含音频的加载、控制,事件监听,信息获取,手机网页阴影的去除等技巧)
vue + element UI【实战】音乐播放器/语音条(内含音频的加载、控制,事件监听,信息获取,手机网页阴影的去除等技巧)
84 1