转换代码:
效果:输入一张图片的路径,读取并显示该原始图像,然后该图片经过自己定义的转换,显示转换后的效果
函数:
参数1:图片路径
参数2:用T.Compose组合的转换
data=Image.open('/home/mlxuan/project/DeepLearning/data/all/train/cat.0.jpg')
T.scale(n):保持宽高比对图片缩放
t=T.Compose([T.Scale(256)])
T.RandomResizedCrop(n)将给定图像随机裁剪为不同的大小和宽高比,然后缩放所裁剪得到的图像为制定的大小
(即先随机采集,然后对裁剪得到的图像缩放为同一大小)
该操作的含义:即使只是该物体的一部分,我们也认为这是该l类物体
比如 猫的图片别裁剪缩放后,仍然认为这是一个猫
T.RandomHorizontalFlip()以给定的概率随机水平旋转给定的PIL的图像
T.ToTensor()将给定图像转为Tensor
归一化处理:
normalize=T.Normalize(mean=[0.485,0.456,0.406],std=[0.229,0.224,0.225])
dataScaleRandomSizedRandFkipToTensorNormalize=normalize(dataScaleRandomSizedRandFkipToTensor)
dataScaleRandomSizedRandFkipToTensorNormalize
T.ToPILImage将Tensor转为Image
python代码:
功能:读取root目录制定的图片,做trans转换,将原图片与转换后的图片显示
import os
from PIL import Image
from torch.utils import data
import numpy as np
from torchvision import transforms as T
def ImageTransFormVisaul(root,trans):
'''读取root指定的图片,做转换,并显示'''
data=Image.open(root)
data.show()
dataTrans=trans(data)
dataTrans.show()
if __name__=='__main__':
ImageTransFormVisaul('/home/mlxuan/project/DeepLearning/data/all/train/cat.0.jpg',T.Scale(256))