torchvision.transforms.Resize()的用法

今天我在使用torchvision.transforms.Resize()的时候发现,一般Resize中放的是size或者是(size,size)这样的二元数。

这两个里面,torchvision.transforms.Resize((size,size)),大家都很清楚,会将图像的h和w大小都变成size。

但是,第一种用法,torchvision.transforms.Resize(size)我最开始的时候,就不知道,到底是只转换一个边长,还是转换两个边长,还是说转换一个边长,另一个边长等比例放缩。

经过自己测试,发现torchvision.transforms.Resize(size)是将最短边长变成size,长边进行比例缩放,也就是最短边为size,最长边大于size。

python 复制代码
from PIL import Image
from torchvision import transforms

# 使用PIL库中的Image模块打开图像文件
img = Image.open('images/styles/starry_night.jpg')

# 打印原始图像的尺寸
print("原图尺寸:", img.size)

# 创建transforms.Resize对象,指定缩放大小为[256, 256]
resize = transforms.Resize(256)
# resize = transforms.Resize([256, 256])

# 使用resize对象对图像进行缩放
img2 = resize(img)

# 打印缩放后图像的尺寸
print("缩放后尺寸:", img2.size)

# 显示缩放后的图像
img2.show()

运行结果如下:

可以发现是短边进行size的调整,长边进行相应的缩放,最后导致图像进行等比例放缩。

相关推荐
罗橙7号2 小时前
【pyTorch】关于PyTorch的高级索引机制理解
人工智能·pytorch·python
递归不收敛3 小时前
吴恩达机器学习课程(PyTorch适配)学习笔记:1.5 决策树与集成学习
pytorch·学习·机器学习
kalvin_y_liu5 小时前
PyTorch、ONNX Runtime、Hugging Face、NVIDIA Triton 和 LangChain 五个概念的关系详解
人工智能·pytorch·langchain
递归不收敛10 小时前
吴恩达机器学习课程(PyTorch 适配)学习笔记大纲
pytorch·学习·机器学习
递归不收敛13 小时前
吴恩达机器学习课程(PyTorch适配)学习笔记:2.4 激活函数与多类别处理
pytorch·学习·机器学习
CH3_CH2_CHO18 小时前
DAY03:【DL 第一弹】神经网络
人工智能·pytorch·深度学习·神经网络
递归不收敛1 天前
吴恩达机器学习课程(PyTorch 适配)学习笔记:3.4 强化学习
pytorch·学习·机器学习
递归不收敛1 天前
吴恩达机器学习课程(PyTorch适配)学习笔记:1.4 模型评估与问题解决
pytorch·学习·机器学习
蒋星熠2 天前
反爬虫机制深度解析:从基础防御到高级对抗的完整技术实战
人工智能·pytorch·爬虫·python·深度学习·机器学习·计算机视觉
it技术2 天前
Pytorch项目实战 :基于RNN的实现情感分析
pytorch·后端