# refuse_class_identifyication_sys **Repository Path**: miniwjw/refuse_class_identifyication_sys ## Basic Information - **Project Name**: refuse_class_identifyication_sys - **Description**: 垃圾分类投放识别系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-12-27 - **Last Updated**: 2026-01-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 垃圾分类投放项目说明 ### 基于AI + JAVAGUI + MYSQL 实现 项目包结构及类职责说明 1. 根包:edu.refuse ApplicationRun.java - 项目入口类,负责启动整个应用程序 - 初始化并显示登录界面 2. 配置包:edu.refuse.config ArkConfig.java - AI识别服务配置类 - 负责配置和初始化AI识别相关参数 3. 数据访问包:edu.refuse.dao GarbageDao.java - 垃圾信息数据访问对象 - 负责垃圾信息的增删改查操作 - 处理垃圾信息与数据库的交互 RecordDao.java - 识别记录数据访问对象 - 负责识别记录的增删改查操作 - 提供统计数据查询功能(按周、按天、按投放状态) UserDao.java - 用户信息数据访问对象 - 负责用户信息的增删改查操作 - 处理用户登录、注册等数据操作 4. 模型包:edu.refuse.model Garbage.java - 垃圾信息实体类 - 封装垃圾的基本信息,包括ID、名称、类型、对应垃圾箱颜色等 Record.java - 识别记录实体类 - 封装垃圾识别记录的信息,包括ID、用户ID、垃圾名称、类型、识别时间、是否正确投放等 User.java - 用户信息实体类 - 封装用户的基本信息,包括ID、用户名、密码、角色等 5. 服务包:edu.refuse.service AiRecognitionService.java - AI识别服务类 - 负责调用AI模型进行垃圾识别 - 处理识别请求和返回识别结果 GarbageService.java - 垃圾信息服务类 - 封装垃圾信息的业务逻辑 - 提供垃圾信息的查询、添加、修改、删除等服务 RecordService.java - 识别记录服务类 - 封装识别记录的业务逻辑 - 提供识别记录的添加、查询、统计等服务 - 处理投放状态统计 UserService.java - 用户服务类 - 封装用户信息的业务逻辑 - 提供用户登录、注册、查询等服务 - 处理用户角色验证 6. 工具包:edu.refuse.util Base64Util.java - Base64编码解码工具类 - 负责图片与Base64字符串之间的转换 CameraUtil.java - 摄像头工具类 - 负责摄像头的初始化、画面捕获等操作 DBUtil.java - 数据库工具类 - 负责数据库连接的建立和管理 - 提供数据库操作的公共方法 7. 视图包:edu.refuse.view 组件子包:edu.refuse.view.component BarChartPanel.java - 自定义柱状图面板组件 - 负责绘制各种统计数据的柱状图 - 支持图例显示、悬停提示等功能 主视图类 AdminGarbageManageFrame.java - 管理员垃圾管理界面 - 提供垃圾信息的添加、修改、删除、查询功能 AdminMainFrame.java - 管理员主界面 - 提供管理员功能菜单,包括垃圾管理、用户管理、记录查看、统计报表等 AdminRecordViewFrame.java - 管理员识别记录查看界面 - 提供识别记录的查询、筛选、查看功能 AdminReportFrame.java - 管理员统计报表界面 - 显示各种统计数据,包括按垃圾类型统计、按天统计、按投放状态统计等 AdminUserManageFrame.java - 管理员用户管理界面 - 提供用户信息的添加、修改、删除、查询功能 LoginFrame.java - 登录界面 - 提供用户登录功能,支持角色选择(用户/管理员) RegisterFrame.java - 注册界面 - 提供新用户注册功能 UserMainFrame.java - 用户主界面 - 提供垃圾识别功能,包括摄像头捕获、AI识别、结果显示、投放确认等 项目架构说明 本项目采用经典的MVC架构: - 模型层(Model):由edu.refuse.model包下的实体类组成,封装数据结构 - 视图层(View):由edu.refuse.view包下的界面类组成,负责用户交互 - 控制层(Controller):由edu.refuse.service包下的服务类组成,处理业务逻辑 - 数据访问层(DAO):由edu.refuse.dao包下的类组成,负责数据库操作 项目使用Java Swing进行GUI开发,采用MySQL数据库存储数据,集成AI模型进行垃圾识别。 主要功能模块 1. 用户认证模块:登录、注册、角色管理 2. 垃圾识别模块:摄像头捕获、AI识别、结果显示 3. 垃圾管理模块:垃圾信息的增删改查 4. 用户管理模块:用户信息的增删改查 5. 记录管理模块:识别记录的查询、查看 6. 统计报表模块:各种维度的统计数据展示 技术栈 - 编程语言:Java - GUI框架:Java Swing - 数据库:MySQL - AI识别:集成第三方AI服务 - 项目管理:Maven 以上是垃圾分类识别系统的项目说明,详细介绍了每个包和类的职责,以及项目的整体架构和功能模块。