目标检测中图片预处理之图片大小分析

2023-11-15

前言:很多做目标检测的新手,拿到数据集就迫不及待想找一个算法来跑它,内心先爽一把,包括我在内也是这样,其实样的做法不合理,我们应该先对数据集进行一些分析,找出数据集的特点,有针对性的进行检测,首先要关注的是图片大小,这个相当重要,假设测试文件来源于医疗遥感类检测任务图像,这些文件可能是50005000甚至1000010000,这时就需要对图片进行resize,缩小图片,然后还要根据模型复杂程度与显存大小来确定图片大小,以免显存不足。通过绘制图片散点图,可以直观看出图片大小分布,整体上把握数据大小,如果散点图集中在左下角,说明图片比较小,无须做太多处理。

获取图片大小,并绘制成散点图:


import time
import matplotlib.image as mping
import os
import matplotlib.pyplot as plt

#获取单个图片的大小
def get_Image_Size(image_Path):
	#print("获取图片尺寸大小:"+ image_Path)
	try:
		lena = mping.imread(image_Path)
	except:
		time.sleep(0.5)
		print("读图出错,重读")
		getPngSize(image_Path)
	size = tuple(lena.shape)
	#print(size)
	return size[1],size[0]

#遍历目标文件夹下图片的大小,保存到list中
def get_dir_list(image_path):
	w_list = []
	h_list = []
	files = os.listdir(image_path)
	for i in files:
		if i.endswith('.jpg'):
			w,h = get_Image_Size(image_path + i)
			#print(w,h)
			w_list.append(w)
			h_list.append(h)
	return w_list,h_list

#画散点图
def plot_pic(w_list,h_list):
	fig = plt.figure()
	ax1 = fig.add_subplot(1, 1, 1)
	ax1.set_title('DataSets\' Size Analysis')
	ax1.scatter(w_list, h_list, s=5, c='k', marker='.')
	plt.show()

if __name__ == '__main__':
	
	image_path = "./13/"  #目标文件夹,也就是图片存放的目录
	w_list,h_list = get_dir_list(image_path)
	plot_pic(w_list,h_list)

运行结果:
在这里插入图片描述

上图横轴表示图片的宽度,纵轴表示图片的高度,可以看出大部分数据处于中部偏左下角,少部分数据比较大,我们可以对少部分大小“超标”的图片进行resize,缩小图片。

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

目标检测中图片预处理之图片大小分析 的相关文章

随机推荐

  • 连 连 看

    1 案例介绍 连连看是一款曾经非常流行的小游戏 游戏规则 点击选中两个相同的方块 两个选中的方块之间连接线的折点不超过两个 接线由X轴和Y轴的平行线组成 每找出一对 它们就会自动消失 连线不能从尚未消失的图案上经过 把所有的图案全部消除即可
  • C/C++之01背包问题

    问题描述 给定N个物品 每个物品有一个重量W和一个价值V 你有一个能装M重量的背包 问怎么装使得所装价值最大 每个物品只有一个 输入格式 输入的第一行包含两个整数n m 分别表示物品的个数和背包能装重量 以后N行每行两个数Wi和Vi 表示物
  • <form>表单

    1 form表单
  • osgEarth的Rex引擎原理分析(三十六)为什么要删除设置过的垂直水准面

    目标 二十九 中的问题86 椭球体 水平面 应该不是删除 而是信息创建出一个没有垂直水准面的Profile 待继续分析列表 9 earth文件中都有哪些options 九 中问题 10 如何根据earth文件options创建不同的地理信息
  • java gc 次数_浅谈如何减少GC的次数

    GC会stop the world 会暂停程序的执行 带来延迟的代价 所以在开发中 我们不希望GC的次数过多 本文将讨论如何在开发中改善各种细节 从而减少GC的次数 1 对象不用时最好显式置为 Null 一般而言 为 Null 的对象都会被
  • 应用程序无法正常启动0xc000007b请点击确定关闭应用程序

    应用程序无法正常启动0xc000007b怎么办 这是很多用户在电脑的使用过程中会出现的一个问题 究竟出现这个问题的时候 我们要怎么去解决它 让我们的电脑重新恢复正常使用呢 想要解决这个问题就一起来看看0xc000007b错误解决办法吧 0x
  • nRF52832学习记录(一、外设初识之 GPIOTE)

    添加GPIO和GPIOTE寄存器表 对于应用的理解对着寄存器查看会比较明了 这个不管是在哪款芯片上都是如此 2021 9 27 这些年蓝牙5 0的应用越来越多 最近也是想着把以前Enocean的低功耗设备有过的产品 用蓝牙做一套匹配的版本
  • pikachu靶场的两道RCE

    第一道题 ping一个ip并查看当前目录 输入127 0 0 1 点击ping 出来一堆乱码 第一种方法 按win r键 输入regedit 点击确定 即打开注册表编辑器 打开HKEY CURRENT USER项 打开其中的Console项
  • 浅谈Python网络爬虫应对反爬虫的技术对抗

    在当今信息时代 数据是非常宝贵的资源 而作为一名专业的 Python 网络爬虫程序猿 在进行网页数据采集时经常会遭遇到各种针对爬虫行为的阻碍和限制 这就需要我们掌握一些应对反爬机制的技术手段 本文将从不同层面介绍如何使用 Python 进行
  • 概率论与数理统计学习笔记——第三十讲——方差定义和计算公式

    1 方差概念的引入 2 方差 标准差 均方差 的定义及计算公式 3 0 1分布的方差 4 泊松分布的方差 5 均匀分布的方差 6 指数分布的方差 7 方差的应用实例 投资方案评估
  • Kubernetes Configmap + Secret

    Secret是什么 在Kubernetes中 Secret是一种用于存储敏感信息的资源对象 它主要用于保存密码 API令牌 密钥和其他敏感数据 以供容器 Pod或集群中的其他资源使用 Secret有以下特点 安全存储 Secret对象被用于
  • Eclipse 搭建一个servlet小程序

    跳转 http www importnew com 14621 html Servlet 是一些遵从Java Servlet API的Java类 这些Java类可以响应请求 尽管Servlet可以响应任意类型的请求 但是它们使用最广泛的是响
  • C++中break与continue的用法

    根据break的用法 是在循环体内 强行结束循环的执行 也就是结束整个循环的过程 不再执行循环的条件是否成立 直接转向循环语句下面的语句 continue的作用 在循环语句中 跳出本次循环中余下尚未执行的语句 继续执行下一次循环 其包括两点
  • sqli-labs 1——20关攻略

    1 10 GET传输 Less 1联合查询 优点 查询方便 速度很快 缺点 必须要有显示位 1 判断sql语句中一共返回了多少列 order by 3 对比如下两张图的显示页面 得知有3列 2 查看显示位 union select 1 2
  • 你在用什么写用例

    这段时间用例评审项目组三个成员 有用excel的 有用xmind的 有用禅道的 而我关于用例用到xmind 后来用excel 后来用禅道一直到现在 xmind是思路分析和整理的工具 在最开始做测试的前3年可以说很依赖这款工具 后来 如果要做
  • QT的学习

    1 Test brower 文本浏览器 2 菜单栏窗体里面有预览功能 3 窗口的布局 4 信号与槽 其实就是时间处理函数 类的成员函数 2019 5 27 学习了 QFileDialog 类 就是选择文件 并且把文件名显示到line edi
  • 编写软件测试文档实验报告,黑盒测试软件测试实验报告.doc

    黑盒测试软件测试实验报告 doc 软件测试与质量课程实验报告 实验2 实验2 黑盒测试法实验 姓名院系 学号 任课教师 实验指导教师 实验地点 实验吋间 实验目的 系统地学习和理解黑盒测试的 本概念 原理 熟悉和掌握等价类划分法 边界值分析
  • bootstrap 动态添加js 页面渲染_给Shopify页面添加动态背景特效教程(傻瓜式操作模板)...

    第一种特效 多彩动态气泡向中心焦点聚合js动画 操作 复制代码如下代码 然后打开页面 切换到添加代码模式 然后复制到内容的最顶部 如下图所示
  • 【STM32技巧】使用STM32 HAL库的硬件I2C驱动RX8025T实时时钟芯片

    基础配置 使用单片机APM32F103RBT6 使用外设I2C1 PB7 SDA 使用外设I2C1 PB6 SCK STM32CUBEMX 版本5 6 配置如下 i2c c文件 File Name I2C c Description Thi
  • 目标检测中图片预处理之图片大小分析

    前言 很多做目标检测的新手 拿到数据集就迫不及待想找一个算法来跑它 内心先爽一把 包括我在内也是这样 其实样的做法不合理 我们应该先对数据集进行一些分析 找出数据集的特点 有针对性的进行检测 首先要关注的是图片大小 这个相当重要 假设测试文