Pytorch学习记录(三)图像变换


图像变换

transforms

  • 导入transforms
from torchvision import transforms
  • 基础用法
# 注:PIL的形状为HWC,通道为RGB
# 若采用cv2.imread(),形状也为HWC,但通道为BGR
img = Image.open("test.jpg")
img_tensor = transforms.ToTensor()
img_resize = transforms.Resize(new_height, new_width)
# 注:返回的Tensor的形状为CHW
img_tensor = img_tensor(img)
  • 进阶用法
# 使用Compose组合多个操作(本文建议先转为Tensor,再进行变换。亦可先传入PIL,最后转为Tensor)
transform = transforms.Compose([
    transforms.ToTensor(),
    transforms.Resize(new_height, new_width),
    transforms.CenterCrop();
    ...
])

补充

虽然torchvision提供了丰富的图像变换函数,但是速度不是最佳的。