numpy数组调整顺序用的是.transpose((x,x,x))
Torch张量调整顺序用的是.permute(x, x, x)
读取图片
方法1
from PIL import Image
image = Image.open(img_path)
方法2
from skimage import io
image = io.imread(img_path)
这2种方法读取的图像都是numpy数组类型,shape是(228, 300, 3)
对numpy数组类型的图像进行处理:
对图像的维度进行顺序调整:
source_image = source_image.transpose((2,0,1))
图像的shape变为:(3, 228, 300)
将图片从numpy数组转为Torch张量:
source_image = torch.Tensor(source_image)
图像的shape变为:torch.Size([3, 228, 300])
对图像(Torch张量)的维度进行顺序调整:
source_image = source_image.permute(1,2,0)
图像的shape变为:torch.Size([228, 300, 3])