PIL,OpenCV,Pytorch处理图像时的通道顺序(颜色,长宽深)
| 项目 | 颜色通道顺序 | 长宽通道顺序 | 数据类型 | 取值范围 |
|---|---|---|---|---|
| PIL | RGB | HWC | ndarray | 0-255 (byte) |
| OpenCV | BGR | HWC | ndarray | 0-255 (byte) |
| PyTorch | RGB/BGR (取决于如何读取) | (N)CHW | tensor | 0-1 (float, 标准化后); 0-255 (int, 未标准化) |
注意以下几点:
-
颜色通道顺序:PIL默认使用RGB顺序,而OpenCV使用BGR顺序。PyTorch不直接指定颜色通道顺序,它取决于你如何将图像数据加载到tensor中。如果你直接从PIL或OpenCV加载图像到PyTorch tensor,那么颜色通道顺序将保持不变(除非你进行了额外的转换)。
-
长宽通道顺序:PIL和OpenCV都使用HWC(高度、宽度、通道)顺序。PyTorch在处理图像数据时,通常期望的输入是CHW(通道、高度、宽度)顺序,特别是当使用卷积神经网络等模型时。但是,PyTorch的
torchvision.transforms模块提供了ToTensor()等转换函数,可以自动将HWC顺序的PIL图像或NumPy数组转换为CHW顺序的tensor。此外,PyTorch还允许使用额外的维度N(批量大小)来扩展CHW到N

浙公网安备 33010602011771号