百度飛槳數據處理 API 數據格式 HWC CHW 和 PIL 圖像處理之間的關係

使用百度飛槳 API 例如:Resize Normalize,處理數據的時候。

Resize:如果輸入的圖像是 PIL 讀取的圖像這個數據格式是 HWC ,Resize 就需要 HWC 格式的數據。
Normalize:有 data_format 參數,把數據格式設爲 data_format="HWC"。
當數據處理完後把數據輸入到網絡模型的時候,網絡模型一般都是 CHW,需要把數據格式轉換一下,這樣才能正常運行程序

  • C 通道數
  • H 高
  • W 寬

代碼舉例:

import numpy as np
from PIL import Image
import paddle.vision.transforms as pptf
import paddle.vision as ppvs

def get_image_data_to_net(image_path: str):
    # 設置圖像處理後端
    ppvs.set_image_backend("pil")
    # 用 PIL 庫讀取圖像
    image = Image.open(image_path)
    # Resize: 調整圖像大小, Normalize: 圖像歸一化處理
    transform = pptf.Compose([pptf.Resize(size=[224, 224]), pptf.Normalize(mean=[127.5, 127.5, 127.5], 
                         std=[127.5, 127.5, 127.5], data_format='HWC')])
    image = transform(image)
    # 轉換圖像 HWC 轉爲 CHW
    image = np.transpose(image, (2,0,1))
    return image.astype("float32")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章