transforms常用功能函数

1. Compose()

功能作用:
将不同的transforms结合在一起,先进行第一个transform变换,后进行第二个transforms变换
用法:
Compose中的参数需要是一个列表。Python中,列表的表示形式为[数据1,数据2,……];
在Compose中,数据需要是transforms类型,所以得到,Compose([transform参数1,transforms参数2,……])

trans_compose = transforms.Compose([trans_resize_2, trans_totensor]) # 先进行trans_resize_2,后进行tans_totansor

注意:第一个参数的输出数据类型应与第二个参数的输入数据类型相匹配

2. ToTensor

功能作用
Convert a PIL Image or numpy.ndarray to tensor.
调用方法:

trans_totensor = transforms.ToTensor()  #创建ToTensor对象
img_tensor = trans_totensor(img)  # 调用此对象

3. ToPILImage

功能作用:
Convert a tensor or an ndarray to PIL Image
调用方法:同上

4. Normalize

功能作用:
Normalize a tensor image with mean and standard deviation.(根据给定的均值和标准差归一化tensor图像)
输入:mean: (mean[1],...,mean[n]) and std: (std[1],..,std[n]) for n
输出:output[channel] = (input[channel] - mean[channel]) / std[channel]
调用方法:

// Normalize
trans_norm = transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])
img_norm = trans_norm(img_tensor) #输入为trnsor数据类型

5. Resize

功能作用:
调整图片大小。
输入:PIL image(类型)
输出:PIL image(类型)
创建对象时输入的参数:(需要的尺寸) eg:(512, 512)。若输入为一个值,则图片短的边匹配这一数值。
调用方法:

# resize用法
img = Image.open("E:\\Pycharm\\workspace\\image\\pytorch.jpg")
trans_resize = transforms.Resize((512, 512)) #创建Resize对象,输入参数
img_resize = trans_resize(img) #输入PIL image

# 输入参数为一个值的情况
trans_resize_2 = transforms.Resize(512)
trans_compose = transforms.Compose([trans_resize_2, trans_totensor]) # 先进行trans_resize_2,后进行tans_totansor
img_resize_2 = trans_compose(img)

6.RandomCrop()

功能作用:随机裁剪
使用方法

# 6. RandomCrop() 随机裁剪   输入:PIL image  输出:PIL Image
trans_random = transforms.RandomCrop(200)
trans_compose_2 = transforms.Compose([trans_random, trans_totensor])
for i in range(10):
    img_crop = trans_compose_2(img)
    writer.add_image("trans_crop", img_crop, i)

总结

关注输入输出类型;
多看官方文档;
关注方法需要什么参数;不知道返回值的时候:

print()
print(type())
debug

你可能感兴趣的:(python,机器学习)