百度OCR行駛證掃描識別功能

1.準備工作

(1).登陸 百度智能云-管理中心 創建 “文字識別”應用,獲取 “API Key ”和 “Secret Key”:

通用參考 - 鑒權認證機制 | 百度AI開放平臺 (baidu.com)

(2).根據 API Key 和 Secret Key 獲取 AccessToken

文字識別OCR (baidu.com)

2.掃描圖片上傳

// 掃描
        setScan() {
            uni.chooseImage({
                count: 1, //默認9
                sizeType: ['original', 'compressed'], //可以指定是原圖還是壓縮圖,默認二者都有
                sourceType: ['camera', 'album'], //前者喚起相機,后者從相冊選擇
                success: res => {
                    console.log('img', res);
                    this.uploadImg(res.tempFilePaths); //上傳圖片
                }
            });
        },

        // 圖片上傳
        uploadImg(tempFilePaths) {
            let that = this;
            uni.showLoading({
                title: '識別中'
            });
           //調用后端圖片上傳接口
            uni.uploadFile({
                url: that.api.baseUrl + '/file/upload',
                // header:{},
                filePath: tempFilePaths[0], // 要上傳文件資源的路徑
                name: 'file', // 文件對應的 key , 開發者在服務器端通過這個 key 可以獲取到文件二進制內容
                formData: {
                    user: 'test'
                },
                success(res) {
                    let data = JSON.parse(res.data);
                    console.log(data);
                    that.tui.toast('上傳成功');
           //調用ocr識別行駛證方法
                    that.iOCR(data.data.url);
                },
                fail() {
                    uni.hideLoading();
                    that.tui.toast('上傳失敗,請重試');
                },
                complete() {
                    uni.hideLoading();
                    console.log('結束');
                }
            });
        },

3.OCR識別

iOCR(url) {
            // 生成assets token
            uni.request({
            //client_id:第一步獲取到的API Key;client_secret:第一步獲取的Secret Key
                url: `https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=xxx&client_secret=xxx`,  
                method: 'POST',
                success: res => {
                    console.log('assets_token', res.data.access_token);
                    // 獲取到access_token之后,調用ocr接口
                    uni.request({
                        url: `https://aip.baidubce.com/rest/2.0/ocr/v1/vehicle_license?access_token=${res.data.access_token}`,
                        method: 'POST',
                        header: { 'Content-Type': 'application/x-www-form-urlencoded' },
                        data: {
                            url: url //上傳之后的行駛證url
                        },
                        success: res => {
                            console.log(res);
                            if (res.data.words_result) {
                                //識別出的數據
                            } else {
                                this.tui.toast('未識別出有效數據,請重新操作');
                            }
                        },
                        fail: res => {
                            this.tui.toast('網絡錯誤,請重試');
                        }
                    });
                }
            });
        },
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容