Pytorch使用transforms

首先,這次講解的tansforms功能,通俗地講,類似於在計算機視覺流程裡的圖像預處理部分的數據增強。

transforms的原理:

說明:圖片(輸入)通過工具得到結果(輸出),這個工具,就是transforms模板工具,(tool=transforms.ToTensor()具體工具),使用工具result=tool(圖片)

在這裡插入圖片描述

tansforms的調用與使用,由下圖可得:

  • 先創建一個transforms.Tensor(),使用from torchvision import transforms調包
  • transforms去調init函數
  • init去調用真正的transforms類,裡面就有很多的方法(綠色五角星標註),例如:resize,ToTensor,CenterCrop(從這些方法可以看出,許多都是數據增強的方法)。

在這裡插入圖片描述

接下來,上代碼:

import os
from torchvision import transforms
from PIL import Image

root_path = "D:\\data\\basic\\Image"
label_path = "aligned"

# 1.獲取aligned第一張圖的名字
img_dir = os.path.join(root_path, label_path)
img_list = os.listdir(img_dir)
img_path = img_list[0]

# 2.獲取aligned第一張圖的路徑
img = os.path.join(root_path, label_path, img_path)

# 3.使用python自帶的PIL獲取圖片
img = Image.open(img)

# 4.將PIL利用transforms轉換成ToTensor
to_tensor = transforms.ToTensor()  # 創建totensor ()
img = to_tensor(img)  # 使用to_tensor直接將圖片的PIL轉化為tensor

print(img)
# transforms

代碼結果:

在這裡插入圖片描述

推薦閱讀: