本文章介绍torchvision中自带的transforms库,可对图形进行处理,本文主要介绍如何使用该方法,具体内容可分以下:
一.原理
torchvision
是pytorch的一个图形库,它服务于PyTorch深度学习框架的,主要用来构建计算机视觉模型。torchvision.transforms
主要是用于常见的一些图形变换。
二.重点函数
transforms.Compose( [transforms.ToTensor(), transforms.Normalize(std=(0.5,0.5,0.5),mean=(0.5,0.5,0.5))] )
函数一:transforms.ToTensor()。
将shape
为(H, W, C)
的nump.ndarray
或img
转为shape
为(C, H, W)
的tensor
,其将每一个数值归一化到[0,1]
,其归一化方法比较简单,直接除以255即可
函数一:transforms.ToTensor()。则其作用就是先将输入归一化到(0,1)
,再使用公式"(x-mean)/std"
,将每个元素分布到(-1,1)
三.代码使用
import torch from torchvision import transforms import json import os from PIL import Image import matplotlib.pyplot as plt if __name__ == '__main__': root = r'D:\Users\User\Desktop\ligth_0824\123\a\1.jpg' img = Image.open(root) plt.imshow(img) plt.show() transform = transforms.Compose([ # transforms.RandomResizedCrop(224), # transforms.RandomHorizontalFlip(), transforms.ColorJitter(brightness=0.5), # transforms.ColorJitter(contrast=0.8), # transforms.ColorJitter(hue=0.5), # transforms.ColorJitter(saturation=(0.6,1.2)), ]) img_new=transform(img) plt.imshow(img_new) plt.show()