# 垃圾分类系统 **Repository Path**: wocaonidaye_1/garbage-classification-system ## Basic Information - **Project Name**: 垃圾分类系统 - **Description**: 垃圾分类系统 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 1 - **Created**: 2024-03-01 - **Last Updated**: 2025-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: TensorFlow, Python, PyQt5 ## README # 垃圾分类系统 #### 介绍 人工垃圾分类投放是垃圾处理的第一环节,但能够处理海量垃圾的环节是垃圾处理厂。然而,目前国内的垃圾处理厂基本都是采用人工流水线分拣的方式进行垃圾分拣,存在工作环境恶劣、劳动强度大、分拣效率低等缺点。在海量垃圾面前,人工分拣只能分拣出极有限的一部分可回收垃圾和有害垃圾,绝大多数垃圾只能进行填埋,带来了极大的资源浪费和环境污染危险。 随着深度学习技术在视觉领域的应用和发展,让我们看到了利用AI来自动进行垃圾分类的可能,通过摄像头拍摄垃圾图片,检测图片中垃圾的类别,从而可以让机器自动进行垃圾分拣,极大地提高垃圾分拣效率。 #### 软件架构 本系统基于python3.7实现 使用tensorflow2.3.0框架 采用卷积神经网络(CNN)实现 python Tensorflow pyqt5 opencv-python #### 安装教程 1. 在运行前需要确保计算机已经安装了MySQL数据库(没有安装去官网下载安装) 2. (使用conda虚拟环境,不使用直接跳过)使用命令conda create -n your_env_name python=3.7创建虚拟环境 3. 使用命令cd garbage-classification-system-master进入文件夹 4. 使用命令pip insatll -r requirements.txt安装所需库 5. 使用Visual Studio Code打开garbage-classification-system-master文件夹 6. 环境配置完成后运行data_split.py文件将数据集划分为训练集和测试集 7. 然后运行cnn.py训练模型 8. 将main.py中模型路径改为训练的模型,也可以在窗口中直接切换 9. 运行denlu.py进行注册登录操作,如果使用默认模型可以跳过6、7、8步,直接进行注册登录 10. 如果在安装pyqt5时报错error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": 可以访问 Microsoft Visual C++ Build Tools 的下载页面,下载并安装适合你Python版本的Microsoft C++ Build Tools。也可以选择低版本的pyqt5尝试。 #### 代码结构 data目录存放原始数据集 split_data目录存放划分后的数据集 images 目录存放UI相关图片 models 目录存放训练好的模型 code 目录存放相关代码文件 cnn.py为训练模型代码 data_split.py为划分训练集代码 db.py为数据库相关操作代码 db_connect.py为数据库连接界面代码 denlu.py为登录界面代码 jiami.py使用哈希函数对密码单向加密,以及验证密码是否正确 main.py为主界面代码 register.py为注册界面代码 requirements.txt为项目所需库 #### 使用说明 1. 在第一运行登录文件时,会跳转到数据库连接界面,连接后会生成json数据库连接信息文件 2. 如果在连接过数据库后,修改了Mysql数据库的一些信息(如密码)需要删除json文件重新连接数据库 3. 如果在运行时遇到背景图片或logo图片等图片未加载,需要将代码中图片路径改为绝对路径,或者将代码放到garbage-classification-system-master目录下(即code上一级目录)再使用相对路径 4. 数据库保存是密码的哈希值,无法还原成原密码 5. 推荐使用python的虚拟环境(venv、virtualenv或conda等工具),可以轻松地升级或降级Python版本或库版本,而无需担心全局环境中的依赖冲突。 #### 参与贡献 1. 数据集地址https://archive.ics.uci.edu/dataset/908/realwaste