微信小程序+前端+天行数据垃圾图像识别接口API
文章目录
前言
步骤
1. 去到天行数据官网注册账号,去到接口的介绍网站
2. 去测试网站,先看看请求的格式
3. 小程序端我采用的是把网站上的url链接的网络图片转成base64编码后的形式作为传入参数,这里需要有点基础,因为只给上了js核心代码
4. 效果
前言
当时有个垃圾图像识别的需求,之前已经用百度的图像识别API(识别出垃圾的名字)+自己的后端数据库信息来识别出垃圾的信息,但是想着有没有一个API接口就能解决的办法。当时一开始是想用阿里云的垃圾分类识别接口的,但是发现传入参数ImageURL有点挑剔,图像URL地址如果是使用上海地域的OSS链接就很方便,直接用测试那边的代码就行,但是当时我是没有阿里的OSS的。后面我试了下上海地域的OSS和对于文件在本地或者非上海地域OSS链接的处理方法,然后发现应该是可以完成的,但是代码量有点大,就算放到云函数上可有点麻烦(维护的话)。所以后面还是决定使用天行数据的API,因为代码比较简短和方便,代码放在前端就能使用。
以下就进入本篇文章正文内容,下面我的例子可供参考
步骤
1. 去到天行数据官网注册账号,去到接口的介绍网站
![](/assets/blank.gif)
2. 去测试网站,先看看请求的格式
![](/assets/blank.gif)
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编码后的结果。
![](/assets/blank.gif)
4. 效果
微信小程序+前端+天行数据垃圾图像识别接口API相关推荐
- 微信小程序——前端传递数据data-index
HTML <!-- data-index给js传数据 --> <view class="menu_item {{index === currentIndex?'active ...
- 微信小程序 python接口_微信小程序-封装请求基准路径、接口API 和使用
1.在文件夹utils下新建 request.js文件 2.封装请求代码 // 基准路径 //路径仅为举例 const baseurl ='https://127.0.0.1' //get请求 fun ...
- 微信小程序服务器api接口的路径,微信小程序-封装请求基准路径、接口API 和使用...
1.在文件夹utils下新建 request.js文件 2.封装请求代码 // 基准路径 //路径仅为举例 const baseurl ='https://127.0.0.1' //get请求 fun ...
- mysql的数据现实在小程序_使用phpstudy将本地mysql数据显示在微信小程序前端
使用phpstudy将本地mysql数据显示在微信小程序前端 第一步:新建小程序 在pages文件里新建一个phptest文件夹,如果你不知道操作,建议先学小程序的基础知识 第二步:写phptest. ...
- 微信小程序——前端——抵扣券、优惠券样式
微信小程序--前端--抵扣券.优惠券样式 效果图: 实现思路: 左边+划线+右边==使用信息+分割线+使用限制 整体底色: .wrapper {margin: 0 auto;width: 100%;d ...
- 许嵩音乐智能问答系统微信小程序之获取数据及文本分类
许嵩音乐智能问答系统微信小程序之获取数据及文本分类 项目简介. 音乐播放器搭建. 获取数据及文本分类. 智能客服聊天界面. 连接前端微信小程序输入和后端python,并返回值 连接知识图谱 数据获取 ...
- 小程序 微信统计表格_微信小程序简单的数据表格及查询功能
简介: 此项目是一个前后端分离的小demo, 开发工具:idea+微信小程序开发工具 前端:界面布局样式和js的跳转 后端:依靠SpringBoot的业务逻辑层 项目的码云地址: 微信开发工具的使用和 ...
- 0基础跟着黑马程序员学微信小程序前端开发Day01
学习目录 一.项目的基本组成结构 二.小程序页面的组成部分 三.创建小程序页面 四.小程序的一些组件 1.常用视图容器类组件 2.常用基础内容组件 3.button 按钮的基本使用 4.image 组 ...
- 分享下自己写的一个微信小程序请求远程数据加载到页面的代码
分享下自己写的一个微信小程序请求远程数据加载到页面的代码 1 思路整理 就是页面加载完毕的时候 请求远程接口,然后把数据赋值给页面的变量 ,然后列表循环 2 js相关代码 我是改的 onload ...
最新文章
- iOS视频流采集概述(AVCaptureSession)
- 02 数据类型 (向量 数据框 矩阵和列表
- python词云有什么用_如何用Python实现词云效果
- python变量命名规则思维导图_Python思维导图详解
- jdbc mysql user_tab_comments_mysql/jdbc:设置useInformationSchema=true读取表注释信息(table_comment)...
- flask 检测post是否为空_使用Flask搭建一个校园论坛-4
- 用IDEA debug按键功能
- Maven : [ERROR] Project xxx is duplicated in the reactor @
- Validator验证Ajax提交表单的方法
- r语言dataellipse_R语言绘图:28个实用程序包
- NSJSONSerialization-JSON数据与NSDictionary和NSArray之间的转化
- springboot 嵌入式容器
- 3dmax模型导入UE4
- imagej得到灰度图数据_Java图像处理最快技术:ImageJ 学习第一篇
- 【error】error: failed to push some refs to ‘远程仓库地址‘ git报错解决
- Label Consistent Matrix Factorization Hashingfor Large-Scale Cross-Modal Similarity Search(LC)--文献翻译
- 【题解】【中国大学MOOC】(北京大学)人工智能与信息社会测验——8人工智能与人类社会未来
- 关键字深度剖析,集齐所有关键字可召唤神龙?【三】
- [推荐](穆穆推荐)如果你现在不成功,请看看你是不是选错了老板
- LLC开关电源详细工作过程