效果图:

1.开通百度AI图像识别

https://login.bce.baidu.com/?redirect=https%3A%2F%2Fconsole.bce.baidu.com%2F%3Ffromai%3D1#/aip/overview

2.代码解释


3.完整代码

<template><view><view class="radio-list"><view style="color: #DD524D;"> 请选择类别:</view><radio-group class="radioG" @change="radioChange"><label class="radioR" v-for="(item, index) in radioItems" :key="item.value"><view><radio :value="item.value" :checked="item.checked" /></view><view> {{item.name}} </view></label></radio-group></view><view class="line"></view><view class="content"><!-- 选择图片区域 --><view class="images_box"><image class='img' :src='imgTempUrl' mode='aspectFill'></image></view><!-- 按钮区域 --><button class="btn" type="primary" @click="imgAdd">选择图片</button><!-- 识别结果 --><view class="txt" v-for="(item, index) in resItems" :key="item.value" ><text> {{ (item.score * 100).toFixed(1) }}% ---> {{item.name}} </text>               </view></view></view>
</template><script>//定义本页用到的变量var imgB64 = ''var id = 'bxxxxxxxxxxxxrio'var secret = 'LQxxxxxxxxxxxxxxxxxxxxxxxCQ'var typeUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/animal?access_token=' //默认是动物识别export default {data() {return {               type: 0 ,imgTempUrl: '',resItems:[],radioItems: [{value: 0,name: '动物识别',checked: true},{value: 1,name: '植物识别',checked: false},{value: 2,name: 'Logo识别',checked: false}],}},// 分享给朋友onShareAppMessage: function() {},//分享到朋友圈onShareTimeline: function() {},methods: {radioChange(e) {//console.log(e.detail.value)this.type = e.detail.valueif(this.type == 0) {  //动物识别typeUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/animal?access_token='}if(this.type == 1) {  //植物识别typeUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/plant?access_token='}if(this.type == 2) {  //商标识别typeUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v2/logo?access_token='}},//选择图片imgAdd() {wx.chooseImage({count: 1,sizeType: ['original', 'compressed'],sourceType: ['album', 'camera'],success: (res) => {this.imgTempUrl = res.tempFilePaths[0]this.getB64ByUrl(this.imgTempUrl)  //调用方法并传入参数}})},//转换成base64格式getB64ByUrl: function(url) {               const FileSystemManager = wx.getFileSystemManager();FileSystemManager.readFile({filePath: url,encoding: 'base64',success:(res) => {//console.log(res.data)imgB64 = res.datathis.plantTap()  //调用方法},fail:(err) => {console.log(err)}})},plantTap() {let that = thisthis.getToken(function(token) {  //先调用getToken方法得到token,再传入getResult方法中运行that.getResult(token)});},getToken: function(callback) {  //回调函数,要有返回值wx.request({url: 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + id + '&client_secret=' + secret,data: {},header: {'content-type': 'application/x-www-form-urlencoded' // 默认值},success(res) {                     //console.log(res)var token = res.data.access_tokenreturn callback(token) //返回值},fail(err) {console.log('错误',err)}});},getResult: function(token) { let that = thiswx.request({url: typeUrl + token, method: "post",data: {image: imgB64},header: {'content-type': 'application/x-www-form-urlencoded' // 默认值},success(res) {console.log(res.data)that.resItems = res.data.result}})}}}
</script><style>.radio-list {margin-left: 3.3%;}.radioG {display: flex;flex-direction: row;flex-wrap: wrap;justify-content: flex-start;}.radioR {display: flex;flex-direction: row;margin: 5rpx;}.line {border-top: 1rpx;border-top-style: solid;border-color: #007AFF;}.content {display: flex;flex-direction: column;align-items: center;justify-content: center;}.btn {margin: 10px;width: 80%;}.images_box {border: 1rpx;border-style: solid;border-color: rgba(0, 0, 0, 0.452);width: 98%;height: 496rpx;margin: 10rpx;position: relative;}.img {width: 100%;height: 100%;}.txt{margin: 10px;font-size: 20px;color: #007AFF;}</style>

uniapp 开发微信小程序图像识别相关推荐

  1. uniapp开发微信小程序设置分包,简单易学(图解)

    我们使用uniapp开发微信小程序的时候,当我们的包体积过大的时候,无法真机模拟 因为小程序单个包只支持2MB,所以这时候我们要选择去分包. 有人要问了分包难吗?分包很简单.但是 最重要的来了,分包这 ...

  2. uni-app开发微信小程序使用微信小程序的插件

    假如使用uni-app开发微信小程序需要用到官方插件----OCR插件, 插件地址如下: OCR插件 申请方式见插件地址介绍.本文主要记录调用方式 1.在manifest.json的"mp- ...

  3. Uni-app开发微信小程序使用本地图片做背景图

    Uni-app开发微信小程序使用本地图片做背景图 <view class="content" :style="{backgroundImage:'url(' + i ...

  4. uniapp开发微信小程序,从构建到上线

    前言: 本文主要介绍 uniapp 的基础使用,以及使用 uniapp 在企业开发的过程中的一个详细流程,比较适合第一次使用uniapp 开发微信小程序的伙伴,或者没有过实战经验的小伙伴参考:使用 H ...

  5. uniapp开发微信小程序分享功能

    记一次uniapp开发微信小程序遇到的问题, 问题: 关于button的分享属性, 在HbuilderX中开发时,直接将button覆盖在image上,将button设置为透明,可以直接实现分享功能, ...

  6. uniapp开发微信小程序-7.用户填写表单信息

    uniapp开发微信小程序-7.用户填写表单信息 本章让用户通过表单更新自己的个人信息,也是本系列文章最后一篇入门分享,之后碰到新颖.常用的功能会继续分享给大家,如果大家有任何问题欢迎留言,我会尽快线 ...

  7. uniapp开发微信小程序使用painter绘制海报

    uniapp开发微信小程序使用painter绘制海报 参考文章: 1.简书大佬文章https://www.jianshu.com/p/e9cab600cf6c 2.CSDN大佬文章https://bl ...

  8. uniapp开发微信小程序-4.页面跳转与横向滑动

    uniapp开发微信小程序-4.页面跳转与横向滑动 本篇文章主要是想记录一下横向滑动功能,备忘的同时给大家做个分享. 但既然是初级分享系列文章,为了方便新手朋友的上手工作,还是在此之前说一下页面跳转的 ...

  9. uniapp开发微信小程序 wx.navigateBack()携带数据问题

    uniapp开发微信小程序 wx.navigateBack()携带数据问题 某个表单页面 有时需要跳转另一个页面查询数据 但如此想要保存当前页面数据需要在另一个查询页面调用 wx.navigateBa ...

最新文章

  1. 第二个冲刺期的第七天
  2. 获取访问者的IP地址
  3. linux中源码编译安装mysql常见错误
  4. 剑指offer(三):从尾到头打印链表
  5. pandas 季度_pandas_时间序列和常用操作
  6. 配送交付时间轻量级预估实践
  7. (良心)世上最全设计模式导读(含难度预警与使用频率完整版)
  8. 文件操作--设置文件属性、获取文件属性
  9. 在线阅读各版本android系统源代码
  10. 实验报告:统计字符串中子字符串出现的次数
  11. Scala下载及安装(Windows)以及Idea中Scala项目的创建
  12. DRAM内存物理地址和地址译码器原理的剖析
  13. 千兆以太网_接收模块设计_udp_rgmii_rx
  14. 【源码分析】Spring Boot中Relaxed Binding机制的不同实现
  15. ecshop一键购物
  16. 根据生日自动计算年龄
  17. opencv环境配置相关软件
  18. 无人机蜂群拦截系统作战构想与关键技术论文解读
  19. 神经网络中epoch、batch、batchsize
  20. 【转】 中兴OLT-C300常用命令

热门文章

  1. 一文看懂计算机视觉!7个专业术语别说你不知道!
  2. Federated learning for drone authentication
  3. boost::asio编程-同步TCP
  4. 使用hellocharts绘制折线图 并自定义Y轴
  5. 前端搬运工:零基础的前端开发初学者应如何系统地学习?前端掌握技能的学习路线
  6. NTFS 之 LCN,VCN
  7. 简谈一下对自己的认识
  8. ARM服务器搭载的操作系统
  9. 线性代数_4、行列式按行展开,异乘变零,拉普拉斯定理
  10. Source Insight 4.0首次安装提示unable to open or create...解决方案