pytorch图像处理基础

2023-06-20,,

pytorch 图像预处理transforms

from torchvision.transforms import transforms

transforms.Compose()

作用:将一系列的transforms有序组合,实现时按照这些方法依次对图像操作。

①transforms.RandomResizedCrop(int size) 随机裁剪

②transforms.Resize((int width, int height)) 等比例缩放

注意参数为元组

③transforms.CenterCrop(224) 中心裁剪

④transforms.Normalize([.485, .456, .406], [.229, .224, .225]) 数据标准化

作用:将三个图像通道的数据分别标准化为均值为第一个列表,方差为第二个列表得到数据

⑤transforms.ToTensor() 将图像转换为Tensor类型

步骤五要在四前

举例:

data_transform = {
'train': transforms.Compose([transforms.RandomResizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize([.485, .456, .406], [.229, .224, .225])]),
'val': transforms.Compose([transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize([.485, .456, .406], [.229, .224, .225])])
}

图像的显示与转换

显示Image类型的图像

import matplotlib.pyplot as plt
plt.imshow(image)
plt.show()

Tensor类型转换为Image <class 'PIL.Image.Image'>

toPIL = transforms.ToPILImage()
image = toPIL(image)

图像数据集的读取

datasets.ImageFolder 数据集读入

from torchvision import datasets

train_dataset = datasets.ImageFolder(root=image_path + r"\train",
transform=data_transform['train'])

train_dataset.getitem(int index)获取图像(Tensor)和标签

image,label = train_dataset.__getitem__(1)

pytorch图像处理基础的相关教程结束。

《pytorch图像处理基础.doc》

下载本文的Word格式文档,以方便收藏与打印。