PIL
img = Image.open(file).convert('RGB')
w,h = img.size
CV2
image = cv2.imread(filepath)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
h, w, c = image.shape
Pytorch
batch,channel,h,w
我们正常读取图片是的通道顺序是h,w,c
,但是通过pytorch中的ToTensor()
处理之后,读出来的图片数据通道顺序就变成了c,h,w
保存图片
1. 将tensor转成pillow
我们需要将图片通道从C,H,W
转化成H,W,C
,最后转成 numpy
def save_image_tensor2pillow(input_tensor: torch.Tensor, filename):
"""
将tensor保存为pillow
:param input_tensor: 要保存的tensor
:param filename: 保存的文件名
"""
assert (len(input_tensor.shape) == 4 and input_tensor.shape[0] == 1)
# 复制一份
input_tensor = input_tensor.clone().detach(