百度飞桨数据处理API数据格式HWCCHW和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")

Original: https://www.cnblogs.com/cnhemiya/p/16153978.html
Author: 小熊宝宝啊
Title: 百度飞桨数据处理API数据格式HWCCHW和PIL图像处理之间的关系

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/711528/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球