小程序调用百度api实现图像识别 您所在的位置:网站首页 微信小程序识别图片中的文字 小程序调用百度api实现图像识别

小程序调用百度api实现图像识别

2024-03-05 23:18| 来源: 网络整理| 查看: 265

一、获取app_key和secret_key

1.1首先需要去百度智能云搜索图像识别

 1.2创建应用--领取免费资源(我已经创建了应用,这个是可以免费使用一年的,测试够了)

 1.3获取app_key和secret_key  

  点进上一张图的管理应用即可查看相应信息

二、获取token

2.1首先判断storage中是否已经有token 

onLoad() { // 自定义头部导航栏文字 wx.setNavigationBarTitle({ title: '垃圾搜索' }); //获取storge中的token var that=this; wx.getStorage({ key:'expires_in', success(res){ // 获取成功,证明本地已存有相关token const newT =new Date().getTime(); // // 用当前时间和存储的时间判断,token是否已过期 if (newT > parseInt(res.data)) { // token过期,重新获取token that.getToken(); } else { // 获取本地缓存的token let token=wx.getStorageSync('access_token'); that.setData({token:token}); } },fail(){ that.getToken(); } }); },

2.2 getToken函数

// 获取token getToken:function(){ var that=this; // client_id:app_key需要自己去百度智能云创建相应的应用后获取 //client_secret:Secret Key const url = 'https://aip.baidubce.com/oauth/2.0/token'+ '?grant_type=client_credentials'+ '&client_id=app_key&client_secret=client_secret'; wx.request({ url:url, method: 'POST', success: res => { console.log(res) let thaRres=res.data; // 将access_token存储到storage中 wx.setStorage({ key:'access_token', data:thaRres.access_token }); var date=new Date().getTime(); let time=date+2592000*1000; console.log('三十天后的时间',time); console.log('当前时间戳',date) wx.setStorage({ key:'expires_in', data:time }); that.setData({token:thaRres.access_token}); /* access_token: 要获取的Access Token; expires_in: Access Token的有效期(秒为单位,一般为1个月); */ }, fail: () => {} }); },

三、进行图像识别

// 点击相机图标时 cameraTap:function(){ console.log('点击相机'); var that=this; wx.chooseImage({ success: res => { wx.getFileSystemManager().readFile({ filePath: res.tempFilePaths[0], //选择图片返回的相对路径 encoding: 'base64', //编码格式 success: res => { //成功的回调 // 图片 wx.showLoading({ title: '识别中...', }) var image = res.data; // 文字识别 wx.request({ url: 'https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general?access_token='+that.data.token, data: { image: image }, header: { 'Content-Type': 'application/x-www-form-urlencoded' }, method: 'POST', success(res) { console.log(res.data) wx.hideLoading({ success: (res) => {}, }) //此处接处理识别结果的函数,可见下一篇文章:https://blog.csdn.net/Moxi099/article/details/120617526?spm=1001.2014.3001.5501 }, fail:()=>{ wx.hideLoading(); wx.showToast({ title: '图片识别失败,请重试!', icon: 'none' }); } }) } }) } }) },

至此大功告成,返回的数据如下:

 result就是最终需要的数据了!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有