transforms.Compose()
串联多个图片变换的操作。
transforms.Resize()
将图片转换到制定大小。
Resize(224) 将图片短边缩放到224,长边做等比缩放
Resize([224,224])将图片缩放到224*224
transforms.CenterCrop()
图片裁剪,从中心位置裁剪指定大小的图片。
transforms.ToTensor()
(1) transforms.ToTensor() 将numpy的ndarray或PIL.Image读的图片转换成形状为(C,H, W)的Tensor格式,且/255归一化到[0,1.0]之间
(2)通道的具体顺序与cv2读的还是PIL.Image读的图片有关系
cv2:(B,G,R)
PIL.Image:(R, G, B)
实际转化流程:
(1)img.tobytes() 将图片转化成内存中的存储格式
(2)torch.ByteStorage.rombuffer(img.tobytes()) 将字节以流的形输入,转化成一维的张量
(3)对张量进行reshape
(4)对张量进行transpose
(5)将当前张量的每个元素除以255
(6)输出张量
transforms.Normalize()
归一化,[0,1]范围经过Normalize(mean = (0.5, 0.5, 0.5), std = (0.5, 0.5, 0.5)),图片缩放到[-1,1]
公式:((0,1) -0.5)/0.5 = (-1,1)

本文详细介绍了使用PyTorch中的transforms模块进行图片预处理的方法,包括图片尺寸调整、裁剪、格式转换及归一化等内容。了解这些操作对于构建高质量的计算机视觉模型至关重要。

2003

被折叠的 条评论
为什么被折叠?



