共计 664 个字符,预计需要花费 2 分钟才能阅读完成。
是的,torchvision 的 transforms.Resize 能够批改图像的大小和比例。如果您只指定了一个维度(例如高度),则另一个维度(例如宽度)将按比例调整以放弃原始图像的纵横比。如果您指定两个维度,则图像将被拉伸以填充新尺寸。
以下是一个示例,展现了 transforms.Resize 如何批改图像的大小和比例:
import torch | |
from torchvision import transforms | |
from PIL import Image | |
img = Image.open("example.jpg") # 原始图像 | |
print(img.size) # 输入原始图像尺寸 | |
# 将图像高度调整为 256 像素,宽度将按比例调整以放弃纵横比 | |
resize_transform = transforms.Resize((256,)) | |
resized_img = resize_transform(img) | |
print(resized_img.size) # 输入批改后的图像尺寸 | |
# 将图像调整为 224x224 像素,不放弃纵横比 | |
resize_transform = transforms.Resize((224, 224)) | |
resized_img = resize_transform(img) | |
print(resized_img.size) # 输入批改后的图像尺寸 |
输入后果:
(640, 360) | |
(455, 256) | |
(224, 224) |
在第一个示例中,图像高度被调整为 256 像素,宽度按比例调整以放弃原始图像的纵横比。在第二个示例中,图像被调整为 224×224 像素,不放弃纵横比,因而图像可能会被拉伸。
正文完