torchvision.transforms.Resize() 是 PyTorch 中 torchvision 库中的一个数据预处理类,用于将 PIL.Image 或者 ndarray 转换成指定大小的图像。
这个类的主要参数如下:
- size:指定输出图像的大小,可以是一个整数(表示将图像的较小边缩放到指定的大小,较大边按比例缩放),也可以是一个二元组 (height, width)(表示将图像缩放到指定的高度和宽度)。例如,size=224 将图像的较小边缩放到 224,size=(224, 224) 将图像缩放到高度和宽度均为 224。
- interpolation:指定图像缩放时采用的插值方法。可以选择的插值方法包括:PIL.Image.NEAREST(最近邻插值)、PIL.Image.BILINEAR(双线性插值,也是默认的插值方法)、PIL.Image.BICUBIC(三次样条插值)等。例如,interpolation=PIL.Image.NEAREST 将使用最近邻插值进行缩放。
在 torchvision.transforms.Resize() 中还有一些其他的参数,这些参数通常用作内部的辅助参数,不需要用户自行设置。
下面是一个使用 torchvision.transforms.Resize() 进行图像预处理的例子:
from torchvision import transforms
from PIL import Image
# 创建 Resize 实例
resize = transforms.Resize((224, 224))
# 读取图像
img = Image.open('test.jpg')
# 将图像缩放到指定大小
resized_img = resize(img)