• 八方資訊網(wǎng)歡迎您!
    八方資訊網(wǎng)>科技>正文

    Node.js開(kāi)發(fā)小程序,調(diào)用百度文字識(shí)別接口實(shí)現(xiàn)圖文識(shí)別

    2020-03-28 06:06:07 來(lái)源: 閱讀:

    百度云開(kāi)發(fā)注冊(cè)與配置

    首先需要注冊(cè)百度賬號(hào),并登錄百度云,進(jìn)入管理控制臺(tái),創(chuàng)建文字識(shí)別應(yīng)用,如下圖

    創(chuàng)建完應(yīng)用后,打開(kāi)應(yīng)用管理可見(jiàn)APP_ID、API_KEY、SECRET_KEY,需要用在小程序端調(diào)用文字識(shí)別接口。


    小程序服務(wù)端開(kāi)發(fā)

    由于百度提供了node.js的api,而小程序服務(wù)端云函數(shù)正是基于node的開(kāi)發(fā),在小程序開(kāi)發(fā)工具云函數(shù)目錄下打開(kāi)終端導(dǎo)入文字識(shí)別api,命令:npm install baidu-aip-sdk,下載完成后,可在云函數(shù)目錄看見(jiàn)node_modeules中'baidu-aip-sdk' api。

    在云函數(shù)目錄下新建conf.js用來(lái)存放APP_ID、API_KEY、SECRET_KEY。

    然后吊用api中的通用文字識(shí)別接口,傳入圖片即可。

    // 云函數(shù)入口文件

    const cloud = require('wx-server-sdk')

    let AipOcrClient = require("baidu-aip-sdk").ocr;

    const args = require("conf.js");

    cloud.init();

    // 云函數(shù)入口函數(shù)

    exports.main = async (event, context) => {

    // 設(shè)置APPID/AK/SK

    let APP_ID = args.APP_ID;

    let API_KEY = args.API_KEY;

    let SECRET_KEY = args.SECRET_KEY;

    // 新建一個(gè)對(duì)象,保存一個(gè)對(duì)象調(diào)用服務(wù)接口

    let client = new AipOcrClient(APP_ID, API_KEY, SECRET_KEY);

    let fileID = event.fileID;

    let res = await cloud.downloadFile({

    fileID: fileID,

    })

    let image = res.fileContent.toString("base64");

    // 調(diào)用通用文字識(shí)別, 圖片參數(shù)為遠(yuǎn)程url圖片

    return client.generalBasic(image);

    //console.log(result);

    // .then(function (result) {

    // let result = JSON.stringify(result);

    // return result;

    // })

    }

    小程序客戶(hù)端開(kāi)發(fā)

    圖片來(lái)源有兩種途徑,相冊(cè)選擇和相機(jī)拍攝。

    xaingce(e){//相冊(cè)響應(yīng)函數(shù)

    let tempFiles;

    let tempFilePaths;

    wx.chooseImage({

    count: 1,

    sizeType: ['compressed'],

    sourceType: ['album', 'camera'],

    success:res=>{

    // tempFilePath可以作為img標(biāo)簽的src屬性顯示圖片

    tempFiles = res.tempFiles[0].size;

    tempFilePaths = res.tempFilePaths[0];

    if (tempFiles > 3000000) {//大于3m

    wx.showToast({

    title: '圖片大小大于3M',

    icon: 'none',

    duration: 2000

    });

    return;

    }

    wx.showLoading({

    title: '識(shí)別中'

    });

    this.uplaodF(tempFilePaths);

    setTimeout(function () {

    wx.hideLoading();

    }, 3000);

    }

    });

    },

    camera(){//相機(jī)響應(yīng)函數(shù)

    let ctx = wx.createCameraContext();

    ctx.takePhoto({

    quality: "normal",

    success: (res) => {

    let tempFilePaths = res.tempImagePath;

    this.setData({

    camera: false

    });

    wx.showLoading({

    title: '識(shí)別中'

    });

    this.uplaodF(tempFilePaths);

    setTimeout(function () {

    wx.hideLoading();

    }, 3000);

    }

    });

    },

    圖片上傳實(shí)現(xiàn)代碼

    uplaodF(path){

    let result = false;

    let name = path.substring(path.lastIndexOf('/') + 1, path.lastIndexOf('.'));

    wx.cloud.uploadFile({

    cloudPath: name,

    filePath: path, // 文件路徑

    }).then(res => {

    // get resource ID

    let id = res.fileID;

    //調(diào)用云函數(shù)識(shí)別圖片

    wx.cloud.callFunction({

    name: 'tongyong',

    data: {

    fileID: id

    }

    }).then(res => {

    let result = res.result.words_result;

    if (result.length > 0) {

    let arr = '';

    for (let i = 0; i < result.length; i++) {

    arr += result[i].words

    }

    this.setData({

    words_result: arr

    })

    }else{

    this.setData({

    words_result: ''

    })

    }

    //刪除圖片

    wx.cloud.deleteFile({

    fileList: [id]

    }).then(res => {

    // handle success

    }).catch(error => {

    // handle error

    })

    }).catch(err => {

    console.log(err)

    });


    }).catch(error => {


    });

    },

    本文為企業(yè)推廣,本網(wǎng)站不做任何建議,僅提供參考,作為信息展示!

    推薦閱讀:iphone8p上市時(shí)間

    網(wǎng)友評(píng)論
    請(qǐng)登錄后進(jìn)行評(píng)論| 0條評(píng)論

    請(qǐng)文明發(fā)言,還可以輸入140

    您的評(píng)論已經(jīng)發(fā)表成功,請(qǐng)等候?qū)徍?/p>

    小提示:您要為您發(fā)表的言論后果負(fù)責(zé),請(qǐng)各位遵守法紀(jì)注意語(yǔ)言文明

    回到首頁(yè) 回到頂部
    八方資訊網(wǎng) 關(guān)于我們| 聯(lián)系我們| 招聘信息| 老版地圖| 網(wǎng)站地圖
    免責(zé)聲明:八方資訊網(wǎng)所有文字、圖片、視頻、音頻等資料均來(lái)自互聯(lián)網(wǎng),不代表本站贊同其觀點(diǎn),本站亦不為其版權(quán)負(fù)責(zé)。相關(guān)作品的原創(chuàng)性、文中陳述文字以及內(nèi)容數(shù)據(jù)龐雜本站無(wú)法一一核實(shí),如果您發(fā)現(xiàn)本網(wǎng)站上有侵犯您的合法權(quán)益的內(nèi)容,請(qǐng)聯(lián)系我們,本網(wǎng)站將立即予以刪除!
    Copyright © 2012-2019 http://www.quan28.cn, All rights reserved.
    主站蜘蛛池模板: 国产偷窥熟女高潮精品视频| 亚洲精品成人片在线观看| 国产精品无打码在线播放| 人人妻人人澡人人爽人人精品电影| 99久久婷婷国产综合精品草原| 精品国产AV一区二区三区| 欧美ppypp精品一区二区| 成人免费精品网站在线观看影片| 精品国产一区二区三区无码| 亚洲AV无码成人精品区大在线| 国产高清在线精品一区二区| 99久久国产综合精品麻豆| 小辣椒福利视频精品导航| 一本大道久久a久久精品综合| 无码国产精品一区二区免费3p| 亚洲国产精品国产自在在线| 日韩精品欧美亚洲| 欧美日韩在线精品一区二区三区激情综合 | 91午夜精品亚洲一区二区三区 | 成人精品一区二区三区| 国产精品久久久久久久久| 国产精品高清一区二区三区 | 精品露脸国产偷人在视频| 一区二区三区日韩精品| 亚洲国产成人久久精品动漫 | 国产69精品久久久久99| 自怕偷自怕亚洲精品| 四虎最新永久在线精品免费| 精品久久久久久久| 久久精品国产亚洲麻豆| 久久青草国产精品一区| 精品一区二区久久| 欧美精品亚洲精品日韩| 99久久精品免费| 国产精品成人国产乱一区| 99国产精品私拍pans大尺度| 日韩精品在线视频| 91精品日韩人妻无码久久不卡| 成人国产一区二区三区精品| 国产午夜福利精品久久| 欧美精品91欧美日韩操|