将 pytoch 张量保存为 32 位灰度图像

问题描述

我处理了一个 32 位灰度 .tif 图像,我使用 PIL 将其转换为张量。在此之后,我将其保存为:

torchvision.utils.save_image(train_img_poac,fp=str(j)+".tif")

方法自动将张量转换为 RGB 格式的图像。我希望我的输出图像是 32 位灰度图像。

我尝试使用 save_image 函数中的参数,但找不到任何内容。将其转换为 numpy ndarray,然后将其转换为 32 位图像是一种选择吗?

解决方法

遗憾的是,save_image 没有保留单通道图像的选项。您可以使用 different library 之类的 OpenCV:

import cv2

image = train_img_poac.numpy()
cv2.imwrite('image_name',image)