中山技术支持中山网站建设,技术培训ui设计,南宁百度关键词排名公司,深圳网站关键词推广今天我在使用torchvision.transforms.Resize()的时候发现#xff0c;一般Resize中放的是size或者是(size,size)这样的二元数。
这两个里面#xff0c;torchvision.transforms.Resize((size,size))#xff0c;大家都很清楚#xff0c;会将图像的h和w大小都变成size。
但是…今天我在使用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。
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的调整长边进行相应的缩放最后导致图像进行等比例放缩。