如何在uniapp中使用百度云实现OCR身份证识别功能

这段代码展示了如何在Vue.js应用中结合uni-app和百度OCR API来识别身份证信息。通过相机或相册获取图片,转换为base64编码,然后调用百度API识别身份证上的姓名、民族、地址、身份证号和性别等信息。识别成功后,将信息发送回父组件,并导航回上一页。

组件中使用

<template>
    <view class="cameraPage">
        <camera device-position="back" flash="off" style="width: 100%;height: 400upx; position: relative;">
            <image src="../../../../static/images/imageFile.webp" class="imageFile" @click="uploadImage" mode="">
            </image>
        </camera>
        <button type="default" @tap="TakePhoto" class="btn_camera">拍照</button>
        <!-- <image :src="photoSrc" style="width: 100%;" mode=""></image> -->
    </view>
</template>

<script>
    import {
        pathToBase64
    } from '@/pages/infoProvided/componts/cameraPage/pathToBase64.js'
    import ajax from 'uni-ajax'
    export default {
        data() {
            return {
                photoSrc: '',
                accessToken: '', //百度识别的token
                cardType: 'front', //身份证正面
                IDCardInfo: { //身份证包含的信息
                    name: '',
                    ethnic: '',
                    address: '',
                    idNumber: '',
                    birthday: '',
                    gender: '',
                },
            }
        },
        onLoad() { //监听页面加载
            this.getAccessToken() //获取身份识别的 Access Token
        },
        methods: {
            TakePhoto: function() {
                const _this = this
                const camera = uni.createCameraContext() //创建照相机对象
                camera.takePhoto({ //实现拍照功能
                    quality: 'high', //high 高质量成像、 normal 普通质量、row 低质量
                    success: (res) => {
                        _this.photoSrc = res.tempImagePath
                        pathToBase64(_this.photoSrc).then(base64 => {
                            let imgBase64 = base64
                            _this.getIdCardInfo(imgBase64)
                        })
                    }
                })
            },
            uploadImage: function(ocrtype) { //打开相册
                var _this = this
                var cardType = ""
                if (ocrtype == 1) {
                    cardType = "front"
                } else {
                    cardType = "back"
                }
                uni.chooseImage({
                    count: 1, //默认9
                    sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
                    so

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值