pytorch中T.RandomResizedCrop()等图像操作转换的效果

转换代码:

效果:输入一张图片的路径,读取并显示该原始图像,然后该图片经过自己定义的转换,显示转换后的效果

函数:

参数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))

猜你喜欢

转载自blog.csdn.net/qq_32425195/article/details/84998030