文章目录

前言

步骤

1. 去到天行数据官网注册账号,去到接口的介绍网站

2. 去测试网站,先看看请求的格式

3. 小程序端我采用的是把网站上的url链接的网络图片转成base64编码后的形式作为传入参数,这里需要有点基础,因为只给上了js核心代码

4. 效果


前言

当时有个垃圾图像识别的需求,之前已经用百度的图像识别API(识别出垃圾的名字)+自己的后端数据库信息来识别出垃圾的信息,但是想着有没有一个API接口就能解决的办法。当时一开始是想用阿里云的垃圾分类识别接口的,但是发现传入参数ImageURL有点挑剔,图像URL地址如果是使用上海地域的OSS链接就很方便,直接用测试那边的代码就行,但是当时我是没有阿里的OSS的。后面我试了下上海地域的OSS和对于文件在本地或者非上海地域OSS链接的处理方法,然后发现应该是可以完成的,但是代码量有点大,就算放到云函数上可有点麻烦(维护的话)。所以后面还是决定使用天行数据的API,因为代码比较简短和方便,代码放在前端就能使用。

以下就进入本篇文章正文内容,下面我的例子可供参考

步骤

1. 去到天行数据官网注册账号,去到接口的介绍网站

图像垃圾分类API接口 - 天行数据TianAPI

2. 去测试网站,先看看请求的格式

用户登录 - 天行数据TianAPI

3. 小程序端我采用的是把网站上的url链接的网络图片转成base64编码后的形式作为传入参数,这里需要有点基础,因为只给上了js核心代码

var httpsimg = that.data.src_jpg   // 网络图片地址wx.downloadFile({     // 需要先下载 url: httpsimg,success(res) {console.log(res,'res') // debugwx.getFileSystemManager().readFile({filePath: res.tempFilePath, //选择图片返回的相对路径encoding: 'base64', //编码格式:base64 | hex(16进制)success: res => { //成功的回调var userImageBase64 = 'data:image/jpg;base64,' + res.data;console.log('userImageBase64'); // debug 打印base64格式图片wx.request({url: 'https://apis.tianapi.com/imglajifenlei/index', //垃圾分类接口method: 'POST',header: {'content-type': 'application/x-www-form-urlencoded'},data: {key: '填入自己的key',img: userImageBase64},success: function (res) {if (res.data.code == 200) { //成功返回正确结果,lajitip为4表示未知类型console.log(res)var logoImg=""var sort = res.data.result.list != 0 ? res.data.result.list[0].lajitype : 4 // 判断是不是没有数据,第一个数据是置信度最高的识别结果switch (sort) {case 0:logoImg = "/images/RecycleableWaste.jpg"break;case 1:logoImg = "/images/HazardouAwaste.jpg"break;case 2:logoImg = "/images/HouseholdfoodWaste.jpg"break;case 3:logoImg = "/images/ResidualWaste.png"break;case 4:logoImg = "/images/unknown.jpg"break;}console.log(logoImg)that.setData({logo:logoImg,name:res.data.result.list[0].name,isHasData:!that.data.isHasData //简单取反,表示有数据,一开始可以给false})} else {console.log("天行数据垃圾识别接口调用失败,错误码:" + res.data.code)}} })}})}})

下面这个网站可以看看base64编码后的结果。

图片/base64编码互转工具 - 天行数据TianAPI

4. 效果

微信小程序+前端+天行数据垃圾图像识别接口API相关推荐

  1. 微信小程序——前端传递数据data-index

    HTML <!-- data-index给js传数据 --> <view class="menu_item {{index === currentIndex?'active ...

  2. 微信小程序 python接口_微信小程序-封装请求基准路径、接口API 和使用

    1.在文件夹utils下新建 request.js文件 2.封装请求代码 // 基准路径 //路径仅为举例 const baseurl ='https://127.0.0.1' //get请求 fun ...

  3. 微信小程序服务器api接口的路径,微信小程序-封装请求基准路径、接口API 和使用...

    1.在文件夹utils下新建 request.js文件 2.封装请求代码 // 基准路径 //路径仅为举例 const baseurl ='https://127.0.0.1' //get请求 fun ...

  4. mysql的数据现实在小程序_使用phpstudy将本地mysql数据显示在微信小程序前端

    使用phpstudy将本地mysql数据显示在微信小程序前端 第一步:新建小程序 在pages文件里新建一个phptest文件夹,如果你不知道操作,建议先学小程序的基础知识 第二步:写phptest. ...

  5. 微信小程序——前端——抵扣券、优惠券样式

    微信小程序--前端--抵扣券.优惠券样式 效果图: 实现思路: 左边+划线+右边==使用信息+分割线+使用限制 整体底色: .wrapper {margin: 0 auto;width: 100%;d ...

  6. 许嵩音乐智能问答系统微信小程序之获取数据及文本分类

    许嵩音乐智能问答系统微信小程序之获取数据及文本分类 项目简介. 音乐播放器搭建. 获取数据及文本分类. 智能客服聊天界面. 连接前端微信小程序输入和后端python,并返回值 连接知识图谱 数据获取 ...

  7. 小程序 微信统计表格_微信小程序简单的数据表格及查询功能

    简介: 此项目是一个前后端分离的小demo, 开发工具:idea+微信小程序开发工具 前端:界面布局样式和js的跳转 后端:依靠SpringBoot的业务逻辑层 项目的码云地址: 微信开发工具的使用和 ...

  8. 0基础跟着黑马程序员学微信小程序前端开发Day01

    学习目录 一.项目的基本组成结构 二.小程序页面的组成部分 三.创建小程序页面 四.小程序的一些组件 1.常用视图容器类组件 2.常用基础内容组件 3.button 按钮的基本使用 4.image 组 ...

  9. 分享下自己写的一个微信小程序请求远程数据加载到页面的代码

    分享下自己写的一个微信小程序请求远程数据加载到页面的代码 1  思路整理 就是页面加载完毕的时候  请求远程接口,然后把数据赋值给页面的变量 ,然后列表循环 2 js相关代码  我是改的 onload ...

最新文章

  1. iOS视频流采集概述(AVCaptureSession)
  2. 02 数据类型 (向量 数据框 矩阵和列表
  3. python词云有什么用_如何用Python实现词云效果
  4. python变量命名规则思维导图_Python思维导图详解
  5. jdbc mysql user_tab_comments_mysql/jdbc:设置useInformationSchema=true读取表注释信息(table_comment)...
  6. flask 检测post是否为空_使用Flask搭建一个校园论坛-4
  7. 用IDEA debug按键功能
  8. Maven : [ERROR] Project xxx is duplicated in the reactor @
  9. Validator验证Ajax提交表单的方法
  10. r语言dataellipse_R语言绘图:28个实用程序包
  11. NSJSONSerialization-JSON数据与NSDictionary和NSArray之间的转化
  12. springboot 嵌入式容器
  13. 3dmax模型导入UE4
  14. imagej得到灰度图数据_Java图像处理最快技术:ImageJ 学习第一篇
  15. 【error】error: failed to push some refs to ‘远程仓库地址‘ git报错解决
  16. Label Consistent Matrix Factorization Hashingfor Large-Scale Cross-Modal Similarity Search(LC)--文献翻译
  17. 【题解】【中国大学MOOC】(北京大学)人工智能与信息社会测验——8人工智能与人类社会未来
  18. 关键字深度剖析,集齐所有关键字可召唤神龙?【三】
  19. [推荐](穆穆推荐)如果你现在不成功,请看看你是不是选错了老板
  20. LLC开关电源详细工作过程

热门文章

  1. light动名词_动名词专项训练·附详解
  2. 分享几封好用的外贸人催单模版
  3. 尚硅谷大数据技术Hadoop教程-笔记03【Hadoop-HDFS】
  4. 两年 android 经验面经
  5. 判断list集合不为空的方法,返回的是size == 0
  6. ajax的正确读音以及初步认识
  7. 基于机器视觉的地铁轨道障碍物系统设计思路
  8. themeleaf和springboot
  9. RabinKarp子串匹配
  10. 【baseline】Kaggle新赛!信用违约预测大赛