手把手教你写垃圾分类系统

2023-10-30

  • 垃圾分类是目前社会的一个热点,制作垃圾分类只要找到合适的数据集,垃圾分类的模型构建并不难。

这里收集了一份关于垃圾分类的数据集,一共有四个大类和245个小类,大类分别是厨余垃圾、可回收物、其他垃圾和有害垃圾,小类主要是垃圾的具体类别,果皮、纸箱等。

按照8比1比1的比例将原始数据集划分成了训练集、验证集和测试集.... ... 为了方便大家使用,已经提前将数据集进行了处理,分享出来给大家

一、对垃圾名称进行过滤

// 垃圾名称过滤
  garbage_name_filter (name) {

    // 如果查询名称为全字母
    var letter_reg = /^[A-Za-z]+$/

    // 如果查询名称为全数字
    var number_reg = /^[0-9]*$/

    // 如果查询名称为全字母和数字
    var letter_number_reg = /^[A-Za-z0-9]+$/
    
    if (name.trim().length === 0) {
      console.log('查询类型不能为空');
      return
    } else if (letter_reg.test(name)) {
      console.log('查询类型不能全字母');
      return
    } else if (number_reg.test(name)) {
      console.log('查询类型不能全数字');
      return
    } else if (letter_number_reg.test(name)) {
      console.log('查询类型不能全字母和数字');
      return
    }
    return name
  }

二、封装一个初始方法

// 初始化方法
  constructor () {
    // token
    this.token = "Z1QljZOZiT4NTG"

    // 请求地址
    this.req_url = 'http://api.txapi.cn/v1/c/rubbish_classify_query'

    // 垃圾名称
    this.garbage_name = ''
  }

到这里框架已经基本搭好了,下边直接上完整代码,复制粘贴即可使用

三、完整代码

const axios = require('axios')

class Parse {
  // 初始化方法
  constructor () {
    // token
    this.token = "Z1QljZOZiT4NTG"

    // 请求地址
    this.req_url = 'http://api.txapi.cn/v1/c/rubbish_classify_query'

    // 垃圾名称
    this.garbage_name = ''
  }

  // 垃圾名称过滤
  garbage_name_filter (name) {

    // 如果查询名称为全字母
    var letter_reg = /^[A-Za-z]+$/

    // 如果查询名称为全数字
    var number_reg = /^[0-9]*$/

    // 如果查询名称为全字母和数字
    var letter_number_reg = /^[A-Za-z0-9]+$/
    
    if (name.trim().length === 0) {
      console.log('查询类型不能为空');
      return
    } else if (letter_reg.test(name)) {
      console.log('查询类型不能全字母');
      return
    } else if (number_reg.test(name)) {
      console.log('查询类型不能全数字');
      return
    } else if (letter_number_reg.test(name)) {
      console.log('查询类型不能全字母和数字');
      return
    }
    return name
  }

  // 发送请求
  send_request (url, token, name) {
    let p = new Promise(function (resolve, reject) {
        axios({
          url: url,
          method: 'GET',
          params: {
              token: token,
              name: name
          }
        }).then(resp => {
          if(resp.data.code != 200 && resp.data.msg != "ok"){
              console.log("查询失败")
          } else {
            resolve(resp.data)
          }
        })
    })
    return p
  }

  // run函数
  run (name) {

    // 检测名称是否合法
    this.garbage_name = this.garbage_name_filter(name)

    if(!this.garbage_name){
        return
    }


    var url = this.req_url // token
    var token = this.token // 请求地址
    var name = this.garbage_name // 垃圾名称

    this.send_request(url, token, name).then(res => {
      console.log(res); // 查询结果
    })
  }
}

if(__filename === process.mainModule.filename) {
  // new一个Parse对象
  const p = new Parse()

  // 调用run方法
  p.run("纸巾")
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手把手教你写垃圾分类系统 的相关文章

随机推荐

  • yolov5训练结果解析

    在每次训练之后 都会在runs train文件夹下出现一下文件 如下图 一 weights 包含best pt 做detect时用这个 和last pt 最后一次训练模型 二 confusion 1 混淆矩阵 混淆矩阵是对分类问题的预测结果
  • 【无标题】数组转化成tree

    在这里插入图片描述 父数组 father G1 G2 G3 G4 G5 子数组 son 1 2 3 4 5 数组转化成tree
  • java实现金额数字转换为中文大写

    import java io import java lang IllegalArgumentException public class ConvertNum 把金额阿拉伯数字转换为汉字表示 小数点后四舍五入保留两位 还有一种方法可以在转
  • 浅拷贝与深拷贝例题与思考

    title 浅拷贝与深拷贝 author hou wei date 2023 04 17 output html document knitr opts chunk set echo TRUE 问答题 0 请问你是如何理解 在 Python
  • sqlserver 批量快速插入数据

    先转换成DataTable 然后插入数据 1 使用最后再看看使用表值参数的效率 效率最高 首先先创建 表值特性类型的表 此表应该与转换后的datatable的列相同不然会出错 查看地方在 当前数据库下的 可编程性 类型 用户定义表类型 CR
  • 【分享】ST7920的LCD12864 Proteus仿真模型

    分享 ST7920的LCD12864 Proteus仿真模型 目前最新版本的是1 03 GitHub地址 https github com cdhigh lcd12864 st7920 proteus Proteus添加动态链接库文件 dl
  • 网站部署详细流程(包括域名,服务器的配置等)

    有很多做网页的前端后端小白都想把自己辛辛苦苦做出来的网站放到网上 让别人观摩观摩 可无奈技术有限 对于网站部署流程有些迷茫 在这里 我会告诉大家 如何将自己做出来的网站放到网上 首先 我们需要明白几个概念 备案 解析 然后 我们还要知道 应
  • 上传formData文件

    if config method get config file const data config data const formData new FormData Object keys data forEach key gt if A
  • QT的tableWidget数据存储到Excle

    目录 环境介绍 所需要的头文件 测试效果 TableWidget表格的内容 Excel表格内容 lt
  • Grub2启动项启动顺序修改

    关键点即 修改grub cfg 终端命令 sudo i 获取权限 chmod w boot grub grub cfg 给文件添加写入权限 gedit boot grub grub cfg 编辑文件内容 BEGIN etc grub d 3
  • 渗透测试-地基钓鱼篇-Cobalt Strike钓鱼(二十五)

    渗透测试 地基钓鱼篇 Cobalt Strike钓鱼 二十五 作者 大余 时间 2020 12 17 简介 渗透测试 地基篇 该篇章目的是重新牢固地基 加强每日训练操作的笔记 在记录地基笔记中会有很多跳跃性思维的操作和方式方法 望大家能共同
  • MTCNN实现流程

    MTCNN实现流程 文章 https arxiv org pdf 1604 02878 pdf code 1 mxnet上的实现 https github com Seanlinx mtcnn 2 tensorflow上的实现 https
  • linux 安装python3(亲测可用)

    首先安装python3所需的基础库 yum y install openssl devel bzip2 devel expat devel gdbm devel yum y install readline devel zlib devel
  • uniapp uni.requet()二次封装ts版

    uni app网络请求 uni app题拱了uni requet 方法 发起网络请求 uni request url https wwww xxxx cn api home list 仅为示例 并非真实接口地址 data text uni
  • 96-97-----JS基础-----DOM查询(二、三)

    一 代码 不难 用到时看一下DOM查询的相关方法即可
  • [零基础学C#] C#从小白到菜鸟 第5期 - 判断

    前言 上一期我们学习了常量和运算符 这一期我们就要开始学习语句块了 简单啊 本来这一期想讲判断和循环的 但是一起讲的话太多了 所以本期就只讲判断吧 学习编程一定要多学多练 多敲出来才能记得更牢 同样 本期的资源下载在底部 大家在学习过程中有
  • 解决Linux,Ubuntu下使用python包管理工具pip命令安装和下载包速度很慢、失败或者connection timeout等问题

    pip 是 Python 包管理工具 该工具提供了对Python 包的查找 下载 安装 卸载的功能 1 原因 pip命令在Linux系统下使用频率非常高 但是国内使用时常常会下载很慢 或者经常提醒连接超时 其主要问题就是它的默认服务器在国外
  • Beyond Compare 4 密钥解决办法

    修改注册表 1 在搜索栏中输入 regedit 打开注册表 2 Ctrl F搜索CacheId 3 删除项目CacheId 路径 HKEY CURRENT USER Software Scooter Software Beyond Comp
  • HCIP笔记

    HCIA复习 抽象语言 编码编码 二进制 二进制 电信号处理电信号 OSI参考模型 OSI RM 应用层 表示层 会话层 传输层 端口号 0 65535 1 1023是注明端口网络层 IP地址 数据链路层 物理层 ARP协议 正向ARP 通
  • 手把手教你写垃圾分类系统

    垃圾分类是目前社会的一个热点 制作垃圾分类只要找到合适的数据集 垃圾分类的模型构建并不难 这里收集了一份关于垃圾分类的数据集 一共有四个大类和245个小类 大类分别是厨余垃圾 可回收物 其他垃圾和有害垃圾 小类主要是垃圾的具体类别 果皮 纸