pytorch中transform的使用

本文详细介绍了PyTorch中transform模块的使用,包括ToTensor将图片转为Tensor格式,Normalize进行图片标准化,Resize进行图片大小缩放,Compose整合多个操作,以及RandomCrop实现随机裁剪。通过实例代码展示了各操作的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.ToTensor转换图片格式

transform是一个transform.py文件,里面包含多个类,其中包括ToTensor类,注意ToTensor是一个类,而不是一个方法,所有首先要创建一个对象,然后在用该对象将图片的PIL格式或是numpy格式转化为Tensor格式,代码如下:

from PIL import Image
from torchvision import transforms

img_path = "data/train/ants_image/0013035.jpg"
img_PIL = Image.open(img_path)

tensor_trans = transforms.ToTensor()
tensor_img = tensor_trans(img_PIL)

print(tensor_img)

上面代码是将PIL格式转化为Tensor格式,如果是要numpy格式的图片,除了之前用numpy.array强制将格式转化为numpy格式外,还可通过OpenCV中的cv2.imread函数直接获得numpy格式的图片,代码如下:

import cv2
cv2.imread(img_path)

2.Normalize图片标准化

Normalize类用于将输入的图片进行标准化,用法是创建对象=transform.Normaliz(n维平均值, n维标准差)其中的输入的第一个参数是图片的n维平均值,第二个参数是图片的n维方差,这里的n是指通道数,一般为3通道,即第一个参数是是一个包含三个数的一维数组,第一个数是第一通道下的平均值,第二个数是第二通道的平均值,第三个数是第三通道的平均值。代码如下:

print(img_tensor[0][0][0])
trans_nor = transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])
img_norm =<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值