transforms数据预处理方法(一)

article/2025/8/14 9:24:32

transforms数据预处理方法(一)

文章目录

    • transforms数据预处理方法(一)
      • 1.transforms——裁剪
        • (1) transforms.CenterCrop(size)
        • (2) transforms.RandomCrop (size, padding= None , pad_if_needed= False ,fill= 0 , padding_mode= 'constant')
        • (3) RandomResizedCrop (size, scale=(0.08, 1.0), ratio=(3/4, 4/3), interpolation)
        • (4) transforms.FiveCrop(size)
        • (5) transforms.TenCrop(size, vertical_flip=False)
      • 2.transform---翻转 旋转
        • (1) RandomHorizontalFlip(p=0.5)
        • (2) RandomVerticalFlip(p=0.5)
        • (3) RandomRotation (degrees, resample=False, expand=False, center=None)
      • 3. 小结

1.transforms——裁剪

(1) transforms.CenterCrop(size)

功能:从图像中心裁剪图片
size:所需裁剪图片尺寸

transforms.CenterCrop(196)

在这里插入图片描述

(2) transforms.RandomCrop (size, padding= None , pad_if_needed= False ,fill= 0 , padding_mode= ‘constant’)

功能:从图片中随机裁剪出尺寸为size的图片
size:所需裁剪图片尺寸
padding:设置填充大小 ;
当为a时,上下左右均填充a个像素 ;
当为(a,b)时,上下填充b个像素,左右填充a个像素 ;
当为(a, b, c, d)时,左,上,右,下分别填充a, b, c, d
pad_if_need:若图像小于设定size,则填充 padding_mode:
填充模式,有4种模式
constant:像素值由fill设定 edge:像素值由图像边缘像素决定
reflect:镜像填充,最后一个像素不镜像,eg:[1,2,3,4] → [3,2,1,2,3,4,3,2]
symmetric:镜像填充,最后一个像素镜像,eg:[1,2,3,4] → [2,1,1,2,3,4,4,3]
fill:constant时,设置填充的像素值

transforms.Randomcrop(224,padding=16)

裁剪图片尺寸为224*224
上下左右均填充16个元素

请添加图片描述

 transforms.RandomCrop(224,padding=(16,64))

裁剪图片尺寸为224*224
上下左右均填充16个元素,上下填充64

请添加图片描述

 ransforms.RandomCrop(224,padding=16,fill=(255,0,0))

裁剪图片尺寸为224*224
上下左右均填充16个元素,填充采用RGB(255,0,0) 正红色

请添加图片描述

 transforms.RandomCrop(512, pad if needed=True), # pad if needed=True

如果裁剪大小大于图片本身大小 那么pad if needed 一定设为True 不然出问题
在这里插入图片描述

ransforms.RandomCrop(224,padding=64,padding mode='edge')

裁剪图片尺寸为224*224
上下左右均填充64个元素,用边缘的颜色进行填充

请添加图片描述

 transforms.RandomCrop(224,padding-64,padding_mode='reflect')

裁剪图片尺寸为224*224
上下左右均填充64个元素,用不包括边缘像素对称填充

请添加图片描述

 transforms.RandomCrop(1024, padding=1024,padding mode='symmetric'),

裁剪图片尺寸为1024*1024
上下左右均填充1024个元素,用包括边缘像素对称填充

请添加图片描述

(3) RandomResizedCrop (size, scale=(0.08, 1.0), ratio=(3/4, 4/3), interpolation)

功能:随机大小、长宽比裁剪图片
size:所需裁剪图片尺寸
scale:随机缩放面积比例, 默认(0.08, 1)
ratio:随机长宽比,默认(3/4, 4/3)
interpolation:插值方法

  • PIL.Image.NEAREST
  • PIL.Image.BILINEAR
  • PIL.Image.BICUBIC
tansforms.RandomResized(size=224,scale(0.08,1))

首先根据 scale 的比例缩放原图,然后根据 ratio 的长宽比裁剪,最后使用插值法把图片变换为 size 大小。

裁剪尺寸是224*224
请添加图片描述

(4) transforms.FiveCrop(size)

功能:在原始图片的左上右上左下右下中间裁剪size大小的图片
size:所需裁剪图片尺寸

transforms.FiveCrop(112),
transforms.lambada(lambda crops:torch.stack([(transforms.ToTensor()(crop)) for crop in crops])  # 变成张量的形式

(5) transforms.TenCrop(size, vertical_flip=False)

功能:在图像的上下左右以及中心裁剪出尺寸为size的5张图片,TenCrop对这5张图片 进行水平或者垂直镜像获得10张图片
size:所需裁剪图片尺寸
vertical_flip:是否垂直翻转

transforms.TenCrop(112,vertical_flip=True)
transforms.lambada(lambda crops:torch.stack([(transforms.ToTensor()(crop)) for crop in crops])  # 变成张量的形式

2.transform—翻转 旋转

(1) RandomHorizontalFlip(p=0.5)

(2) RandomVerticalFlip(p=0.5)

功能:依概率水平(左右)或垂直(上下)翻转图片
p:翻转概率

transforms.RandomHorizontalFlip(p=0.5)
transforms.RandomVerticalFlip(p=0.5)

请添加图片描述
请添加图片描述

(3) RandomRotation (degrees, resample=False, expand=False, center=None)

功能:随机旋转图片
degrees:旋转角度
当为a时,在(-a,a)之间选择旋转角度
当为(a, b)时,在(a, b)之间选择旋转角度
resample:重采样方法
expand:是否扩大图片,以保持原图信息
center:旋转点设置,默认中心旋转

transforms.RandomRotation(90)

角度是(-90-90)
请添加图片描述

transforms.RandomRotation((90),expand=True)

角度是(-90-90) 填充 以保持原图信息
请添加图片描述

transforms.RandomRotation(30,center=(0,0)

以左上角为定点进行旋转 角度是(-30-30)
请添加图片描述

transforms.RandomRotation(30,center(0,0),expand=True)

以左上角为轴进行旋转 角度为(-30,30)
请添加图片描述
发现图片还是有丢失 是因为它的机制适用于围绕着中心点旋转这一种情况,而这个代码围绕的是左上角 ,所以会造成填充不完整 ,图像缺失。

3. 小结

transform 裁剪:
CenterCrop
RadomCrop
RadomResizedCrop
FiveCrop
TenCrop

transform 翻转 旋转
RadomHorizontalFlip
RadomVerticalFlip
RadomRotation


http://chatgpt.dhexx.cn/article/OcvwUUTs.shtml

相关文章

大数据处理之道(预处理方法)

一:为什么要预处理数据? (1)现实世界的数据是肮脏的(不完整,含噪声,不一致) (2)没有高质量的数据,就没有高质量的挖掘结果(高质量的决…

过程数据_数据预处理的方法

首先,我们先来搞清楚,什么叫“过程数据”?以及什么叫“结果数据”? 简单来讲,“过程数据”指的是我们可以掌握的事务和行为“结果数据”就是我们不能完全掌控的。过程数据的英文翻译 基本释义 process data 参考释义过程数据的相关资料 临近单词 过半数 过 过期作废 过气 过谦…

类别型数据的预处理方法

在机器学习过程中,我们往往需要对数据进行预处理。根据数据的取值情况,我们可以把数据总体分为两大类:类别型数据和数值型数据。 对于数值性变量,通常不需要对其进行编码处理。而如何处理类别型数据是一个难题。处理的方法有很多种,各有优缺并且各有适用的范围。 本文在收…

大数据预处理方法,来看看你知道几个

大数据蕴含巨大价值,引起了社会各界的高度关注。大数据的来源多种多样,从现实世界中采集的数据大体上都是不完整、不一致的脏数据,无法直接进行数据挖掘和分析,或分析挖掘的结果差强人意。为了提高数据分析挖掘的质量,…

机器学习中数据预处理的几种方法

由于实际收集到的机器学习数据集不可避免的会存在数据缺、数据集不平衡和数据集中各类数据非同一量级等情况,对缺失数据进行补全和对异常数据进行清洗、均衡化处理防止类别不平衡和数据标准化处理对于机器学习模型至关重要。 1 数据补全方法 有效地恢复缺失的数据是…

常见近红外/红外光谱数据预处理方法及MATLAB实现

在近红外等光谱数据分析建模过程中,最关键的一步除了特征选择之外就是光谱数据预处理,预处理的原因是光谱数据除了纯光谱(pure spectra)之外还包含基线漂移、噪声等信号,与此同时存在着因样本大小以及环境等因素带来的…

数据预处理常用方法总结

目录 一、数据清理1 处理缺失值2 噪声数据 二、数据集成1 实体识别2 冗余和相关分析3 数值冲突的检测与处理 三、数据变换1 数据规范化2 数据离散化3 概念分层 数据预处理包括多种方法,诸如数据清理、数据集成、数据变换等。 一、数据清理 数据清理主要是处理缺失…

数据预处理的方法有哪些

数据处理的工作时间占整个数据分析项目的70%以上,因此,数据的质量直接决定了分析模型的准确性。那么,数据预处理的方法是什么呢?例如数据清理、数据集成、数据规范、数据转换等,其中最常用的是数据清理和数据集成&…

数据预处理(方法总结)

数据预处理(方法总结) 转自-https://www.cnblogs.com/sherial/archive/2018/03/07/8522405.html 一、概述 在工程实践中,我们得到的数据会存在有缺失值、重复值等,在使用之前需要进行数据预处理。数据预处理没有标准的流程&…

机器学习算法笔记之6:数据预处理

一、概述 在工程实践中,我们得到的数据会存在有缺失值、重复值等,在使用之前需要进行数据预处理。数据预处理没有标准的流程,通常针对不同的任务和数据集属性的不同而不同。数据预处理的常用流程为:去除唯一属性、处理缺失值、属…

Python的数据分析可视化十种技能总结

常见的可视化试图列举 可视化视图可以分成4大类:比较、联系、构成和分布。他们的特点如下: 1、比较:比较数据之间的各类别的关系,或者是他们随着时间的变化趋势,比如折线图;2、联系:查看两个或…

python 典型变量分析

典型相关分析 1.典型相关分析的基本思想是首先在每组变量中找出变量的线性组合,使其具有最大相关性,然后再在每组变量中找出第二对线性组合,使其分别与第一对线性组合不相关,而第二对本身具有最大的相关性,如此继续下…

脑影像分析|数据分析——单个变量或多个变量与y的皮尔逊相关,同时返回r与p值(python)

| 图源 皮尔逊相关是计算两个变量之间线性相关关系,或者两个向量共线程度的常用指标,应返回衡量相关程度的r值,和相关显著程度的p值。我们熟知的工具包,如pandas,numpy和scipy等,只能计算单个变量x与变量y之…

SPSS处理多自变量多因变量分析以及描述平均值,在不同情况

SPSS处理工具:SPSS25.0 准备好数据 1.分析多自变量对某一个因变量的显著性 在分析里找到,General linear model,然后选择Univariate, 分别把两个自变量TIssue and Speed 输入到Fixed Factor,然后设置Option里的描述,如果需要其他的设置可以…

R语言实现双变量分析教程

双变量分析表示分析两个变量。 双变量分析是为了分析两个变量之间的关系,与单变量、多变量分析对应。主要有三种方式进行双变量分析。 散点图相关系数简单线性回归 下面使用测试数据作为示例来演示三种方法,供包括两个变量,HourStudied表示…

spss实战案例----分析多个变量与因变量之间是否存在关系,方差分析

本案例是IBM SPSS数据分析与挖掘实战案例精粹----第七章的学习记录 案例背景或目标:激素水平是否在对照组和实验组之间存在差异 分析方法:Bootstrap抽样,秩和检验,秩变换方法,cox回归 字段包括:性别&…

Python学习16 ----Seaborn多变量分析绘图

Seaborn多变量分析绘图 代码详见https://github.com/RenDong3/Python_Note 1 读取数据 2 分析绘图 parameters: x,y,hue 数据集变量 变量名data 数据集 数据集名row,col 更多分类变量进行平铺显示 变量名col_warp 每行的最高平铺数 整数estimator 在每个分类中进行矢量到标…

用SPSS进行多变量数据分析

用SPSS进行多变量数据分析 1.将所给的数据输入SPSS 22.0中文版。分别设置变量为温度,体重1、2、3、4;体重,温度5、10、15、20、30。 2.用SPSS进行作图(过程略)。 3.对数据进行多因素变量分析,具体操作如…

解读SPSS多元方差分析中的多因素多变量的相互影响

多元方差分析研究的是多个自变量与多个因变量的相互关系,也被称为多变量分析。在《怎么使用SPSS的多元方差分析法》一文中,我们已经详细学习了IBM SPSS Statistics多元方差分析的设置方法。 本文将会重点介绍如何解读多元方差分析的检验结果。由于多元方…

高维数据中特征筛选方法的思考总结——多变量分析筛选法

前言:之前的文章(高维数据中特征筛选方法的思考总结——单变量分析筛选法)中,对单变量分析筛选变量进行了初步考量,本文将进一步总结多变量分析筛选法。由于本文多处摘录网上的博客,只是进行了归纳整理&…