B站项目-基于Pytorch的ResNet垃圾图片分类

基于Pytorch的ResNet垃圾图片分类

数据集预处理

画图片的宽高分布散点图
import osimport matplotlib.pyplot as plt
import PIL.Image as Imagedef plot_resolution(dataset_root_path):image_size_list = []#存放图片尺寸for root, dirs, files in os.walk(dataset_root_path):for file in files:image_full_path = os.path.join(root, file)image = Image.open(image_full_path)image_size = image.sizeimage_size_list.append(image_size)print(image_size_list)image_width_list = [image_size_list[i][0] for i in range(len(image_size_list))]#存放图片的宽image_height_list = [image_size_list[i][1] for i in range(len(image_size_list))]#存放图片的高plt.rcParams['font.sans-serif'] = ['SimHei']#设置中文字体plt.rcParams['font.size'] = 8plt.rcParams['axes.unicode_minus'] = False#解决图像中的负号乱码问题plt.scatter(image_width_list, image_height_list, s=1)plt.xlabel('宽')plt.ylabel('高')plt.title('图像宽高分布散点图')plt.show()if __name__ == '__main__':dataset_root_path = "F:\细粒度识别项目\清洁用品"plot_resolution(dataset_root_path)

运行结果:
运行结果

注: os.walk详细解释参考

画出数据集的各个类别图片数量的条形图

文件组织结构:
在这里插入图片描述

def plot_bar(dataset_root_path):file_name_list = []file_num_list = []for root, dirs, files in os.walk(dataset_root_path):if len(dirs) != 0 :for dir in dirs:file_name_list.append(dir)file_num_list.append(len(files))file_num_list = file_num_list[1:]#去掉根目录下面的文件数量(0) [0, 20, 1, 15, 23,  25, 22, 121, 7, 286, 233, 22, 27, 5, 6, 4]#[20, 1, 15, 23, 25, 22, 121, 7, 286, 233, 22,27, 5, 6, 4]mean = np.mean(file_num_list)print("mean= ", mean)bar_positions = np.arange(len(file_name_list))fig, ax = plt.subplots()ax.bar(bar_positions, file_num_list, 0.5)# 柱间的距离, 柱的值, 柱的宽度ax.plot(bar_positions, [mean for i in bar_positions], color="red")#画出平均线plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置中文字体plt.rcParams['font.size'] = 8plt.rcParams['axes.unicode_minus'] = False  # 解决图像中的负号乱码问题ax.set_xticks(bar_positions)#设置x轴的刻度ax.set_xticklabels(file_name_list, rotation=98) #设置x轴的标签ax.set_ylabel("类别数量")ax.set_title("各个类别数量分布散点图")plt.show()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/703636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

装配制造业的MES系统种的物料齐套技术

装配是制造企业涉及产品生产加工最为普遍的一种模式,包括汽车、电子、电器、电气等行业。经研究表明,装配在整个产品制造总成本中所占比例超过了50%,所占用的总生产时间比例在40%-60%,直接影响着产品质量和成本。装配制造非常强调…

树-王道-复试

树 1.度: 树中孩子节点个数,所有结点的度最大值为 树的度 2.有序树: 逻辑上看,树中结点的各子树从左至右是有次序的,不能互换。 **3.**树的根节点没有前驱,其他节点只有一个前驱 **4.**所有节点可有零个或…

Leetcoder Day23| 回溯part03:组合+分割

语言:Java/Go 39. 组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的所有不同组合 ,并以列表形式返回。你可以按任意顺序返回这些组合。 candidates 中的同一个…

环形光源让图像质量瞬间提升,一探究竟吧!

光源对机器视觉检测系统的性能起着重要作用,精确的光学结构设计可以提高捕获图像的质量,准确地分离目标和背景信息,不充足的光线会使捕捉到的图像无法满足需求,针对不同的检测对象,不同的形状光源应运而生。我们来看看最常用的LED光源之一—环形光源。 环形光源&…

vue3 使用pina

一、Vue 3 项目中集成Pina 状态管理库 要在 Vue 3 项目中使用 Pina(Vue 3 状态管理库),您可以按照以下步骤操作: 1. 安装 Pina 库相应的插件: yarn add pinia # 或者使用 npm npm install pinia 2. 在您的 Vue 3 项…

电脑休眠之后唤不醒

现象:午休时间电脑休眠了,醒来之后发现在密码输入界面,但鼠标键盘没反应。按重启键或电源机重新开机,结果开不了机。 原因:1、内存条脏了,导致内存条读取失败 2、休眠的时候硬盘休眠了,导致按…

AngularJS安装版本问题

一、安装 Angular CLI 脚手架安装命令: npm install -g angular/cli 在安装前请确保自己安装NodeJS环境版本为V18及以上,否则会因node版本问题导致项目无法正常运行。 脚手架安装后,已提示了当前node版本必须为18.13.0或大于20.9.0版本&…

git之分支管理

一.理解分支 我们看下面这张图片: 在版本回退⾥,你已经知道,每次提交,Git都把它们串成⼀条时间线,这条时间线就可以理解为是⼀个分⽀。截⽌到⽬前,只有⼀条时间线,在Git⾥,这个分⽀…

2024年 前端JavaScript入门到精通 第四天 笔记

4.1 函数的基本使用以及封装练习 ★ 函数命名规范 4.2 函数的参数以及默认参数 函数的灵魂!!! 4.3 函数封装数组求和案例 4.4 函数返回值return 4.5 函数返回值细节以及上午总结 4.6 函数返回值案例-求最大值和最 4.7 函数复习以及断点进入函…

如何在Linux搭建MinIO服务并实现无公网ip远程访问内网管理界面

文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼…

挑战杯 基于机器视觉的12306验证码识别

文章目录 0 简介1 数据收集2 识别过程3 网络构建4 数据读取5 模型训练6 加入Dropout层7 数据增强8 迁移学习9 结果9 最后 0 简介 🔥 优质竞赛项目系列,今天要分享的是 基于机器视觉的12306验证码识别 该项目较为新颖,适合作为竞赛课题方向…

Inno setup 打包jar包+前端dist+mysql+navicat等应用文件操作

目录 一、 使用exe4j将后端jar包打包成exe应用文件 1.创建一个新的工程 2.选择一个你想要存放的路径 3.进入配置界面 4.选择jar转换exe模式 5.自定义名字和选择输出路径 6.配置初始化 7.配置java环境 8.测试运行结果 二、Inno 打包应用文件exe 1.新建一个工程文件 2…

【hashmap】【将排序之后的字符串作为哈希表的键】【获取 HashMap 中所有值的集合】Leetcode 49 字母异位词分组

【hashmap】【将排序之后的字符串作为哈希表的键】【获取 HashMap 中所有值的集合】Leetcode 49 字母异位词分组 解法1 将排序之后的字符串作为哈希表的键解法2 在解法一的基础上加入了getOrDefault ---------------🎈🎈题目链接🎈&#x1f3…

从零开始手写mmo游戏从框架到爆炸(二十二)— 战斗系统三

导航:从零开始手写mmo游戏从框架到爆炸(零)—— 导航-CSDN博客 目录 地图设定 战斗引擎 服务端的BattleHandler 客户端的相关handler 战斗场景展示 执行效果 文接上一章。我们把战斗系统demo应用到实际的项目中来。在第十九章&#xf…

AI对话系统app开源

支持对接gpt,阿里云,腾讯云 具体看截图 后端环境:PHP7.4MySQL5.6 软件:uniapp 废话不多说直接上抗揍云链接: https://mny.lanzout.com/iKFRY1o1zusf 部署教程请看源码内的【使用教程】文档 欢迎各位转载该帖/源码

智慧公厕是什么?智慧公厕意义何在

随着城市化进程的加速,公厕成为城市管理中不容忽视的一环。智慧公厕传统的公厕管理方式已经无法满足当今社会的需求,因此智慧公厕的出现成为解决问题的利器。什么是智慧公厕?智慧公厕是实现公共厕所信息化、数字化、智慧化全方位管理与服务的…

啤酒:精酿啤酒与烧烤的热烈碰撞

在夏日的傍晚,烧烤与啤酒总是绝配。当Fendi Club啤酒遇上烧烤,它们将为我们带来一场热烈的美味碰撞。 Fendi Club啤酒,以其醇厚的口感和淡淡的麦芽香气而著称。这款啤酒在酿造过程中采用了特别的工艺,使得酒体呈现出诱人的金黄色&…

F2图例封装 - Bar

基于vue3 和 F2 3.5.0 <template><div :style"{minHeight: ${height}px,width: 100% }" ref"container"><canvas v-show"showChart" :id"chartId" class"chart-canval"></canvas><empty-box v-…

零感佩戴的开放式耳机,音质悦耳更耐听,西圣Air体验

每天都用蓝牙耳机的朋友应该不少&#xff0c;我平时也经常戴&#xff0c;不过最近我用的不是常规的入耳式耳机&#xff0c;因为它佩戴不舒适&#xff0c;戴久了耳朵特别难受。所以现在我换上了开放式耳机&#xff0c;这种耳机叫做OWS&#xff0c;我的这款是西圣Air&#xff0c;…

查看mysql数据库的版本

要查看MySQL数据库的版本&#xff0c;可以使用以下几种方法&#xff1a; 命令行&#xff08;已连接到MySQL服务器&#xff09;&#xff1a; 登录到MySQL服务器后&#xff0c;在MySQL提示符下执行&#xff1a; mysql> SELECT VERSION(); 或者&#xff0c;也可以执行 STATUS; …