最近处理图像经常用到以下部分操作:
import torchvision.transforms as transforms
transform.ToTensor()
transform.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))
一般采用OpenCV读取到的图片像素点单个通道的值域范围为[0,255]。
ToTensor()能够把范围从[0,255]变换到[0,1]之间。
Normalize()则把值域范围从[0,1]变换到[-1,1]。具体而言,对每个通道Normalize执行以下操作:
value_n=(value-mean)/std
其中均值mean和标准差std分别由(0.5,0.5,0.5)和(0.5,0.5,0.5)指定。原来的最小值0变成(0-0.5)/0.5=-1,最大值1变成(1-0.5)/0.5=1,最终从[0,1]变换到[-1,1]。
参考资料:
PyTorch官方文档