使用torchvision.utils.save_image()将张量 保存 为 单通道灰度图

在Python中,使用torchvision中的utils.save_image函数用于保存张量数据为png图片
保存灰度图像与保存3通道PNG图像略有不同。对于灰度图像:

  1. 灰度图像通常是单通道图像,因此在保存时需要确保通道数正确
  2. 在调用save_image函数时填写参数 cmap=‘gray’

以下是保存灰度图像的示例代码

import torch
from torchvision import utils

# 创建一个灰度图像张量(单通道)
gray_image = torch.randn(1, 1, 128, 128)  # 假设为128x128的灰度图像

# 使用utils.save_image保存灰度图像
utils.save_image(gray_image, 'gray_image.png', nrow=1, normalize=True, range=(0, 1), cmap='gray')

若张量在GPU上,需要先进行处理放到cpu上,因为最终要保存到内存中

gray_image.data.cpu()

在这个示例中,我们使用了utils.save_image函数来保存图像。然而,为了保存灰度图像,我们使用了一些附加参数来确保正确的保存格式。

nrow=1:表示每行只有一张图像,因为我们只有一个单通道的灰度图像。
normalize=True:将张量值归一化到0到1的范围。
range=(0, 1):指定归一化的范围,确保将张量值归一化到0到1之间。
cmap=‘gray’:指定使用灰度颜色映射,以确保保存的图像为灰度图像。
通过使用上述参数,utils.save_image函数将灰度图像正确保存为PNG文件。保存的图像将使用灰度颜色映射,并以范围为0到1的浮点数表示灰度值。

确保在运行代码之前已经安装了torchvision库,该库提供了utils.save_image函数来方便地保存图像。

猜你喜欢

转载自blog.csdn.net/hhb442/article/details/131084052