目录
Transforms用来对图像进行一些变换,转换成具体格式的tensor类型数据。
一、ToTensor()使用:
python
from PIL import Image
from torchvision import transforms
#转换成tensor数据类型
img_PIL = Image.open("dataset/train/ants_image/0013035.jpg")
#创建trans_tensor对象,用来对图片进行类型转换
tensor_trans = transforms.ToTensor()
#调用transforms对象的__call__内置函数进行数据类型转换
img_tensor = tensor_trans(img_PIL)
print(img_tensor)
二、tensor数据类型:
tensor是一个封装了神经网络所需参数的特殊数据类型。
三、Normalize()使用:
python
from PIL import Image
from torchvision import transforms
#转换成tensor数据类型
img_PIL = Image.open("dataset/train/ants_image/0013035.jpg")
#创建trans_tensor对象,用来对图片进行类型转换
trans_tensor = transforms.ToTensor()
#调用trans_tensor对象的__call__内置函数进行数据类型转换
img_tensor = trans_tensor(img_PIL)
#创建归一化对象,需要给出三维图片上各个维度的均值和方差
trans_norm = transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])
#调用trans_norm对象的__call__内置函数进行tensor数据的归一化
img_norm = trans_norm(img_tensor)
四、Resize()使用:
python
from PIL import Image
from torchvision import transforms
#转换成tensor数据类型
img_PIL = Image.open("dataset/train/ants_image/0013035.jpg")
#创建trans_tensor对象,用来对图片进行类型转换
trans_tensor = transforms.ToTensor()
#调用trans_tensor对象的__call__内置函数进行数据类型转换
img_tensor = trans_tensor(img_PIL)
#创建对象,用来改变图片尺寸(长,宽)
trans_resize = transforms.Resize((512,512))
#调用trans_resize对象的__call__内置函数进行图片缩放
img_resize = trans_resize(img_PIL)
五、compose()对象:
python
from PIL import Image
from torchvision import transforms
#转换成tensor数据类型
img_PIL = Image.open("dataset/train/ants_image/0013035.jpg")
#创建trans_tensor对象,进行图像类型变换
trans_tensor = transforms.ToTensor()
#创建trans_resize对象,宽调整为512,高不变
trans_resize = transforms.Resize(512)
#trans_compose对象用来预设执行流程,先执行trans_resize改变图像维度,再执行trans_tensor转为tensor类型
trans_compose = transforms.Compose([trans_resize,trans_tensor])
trans_compose(img_PIL)