示例代碼:
from torchvision import transforms from PIL import Image img_jpg = Image.open('C:/Users/admin/Desktop/bird.jpg').convert('RGB') # convert()函數,用於不同模式圖像之間的轉換, # PIL中有九種不同模式,分別為1,L,P,RGB,RGBA,CMYK,YCbCr,I,F print(img_jpg) # 輸出:<PIL.Image.Image image mode=RGB size=500x333 at 0x16ADDF8B948> to_tensor = transforms.ToTensor() img_tensor = to_tensor(img_jpg) # img_tensor的每個通道最大值為1.0,最小值為0 normalize = transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) # 歸一化到[-1, 1],公式是:(x-0.5)/0.5 img_norm = normalize(img_tensor) # img_norm的每個通道最大值為1.0,最小值為-1.0 # transform tensor back to PIL image img_unnorm = img_norm/2 + 0.5 to_PILimage = transforms.ToPILImage() img_restored = to_PILimage(img_unnorm) img_restored.save('C:/Users/admin/Desktop/bird_restored.jpg')
圖像: