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

Posted

技术标签:

【中文标题】将 pytorch 张量保存为 32 位灰度图像【英文标题】:Saving a pytoch tensor as a 32-bit grayscale Image 【发布时间】:2021-06-29 21:34:21 【问题描述】:

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

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

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

我尝试使用 save_image 函数中的参数,但找不到任何东西。是否将其转换为 numpy ndarray,然后将其转换为 32 位图像?

【问题讨论】:

试试tifffile也许...pypi.org/project/tifffile 【参考方案1】:

很遗憾,save_image 没有保留单通道图像的选项。你可以像 OpenCV 一样使用different library:

import cv2

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

【讨论】:

以上是关于将 pytorch 张量保存为 32 位灰度图像的主要内容,如果未能解决你的问题,请参考以下文章

如何使用matlab将256灰度位图图像保存为24位灰度图像?

如何将PyTorch张量转换为Numpy ndarray

使用 str 键和 pytorch 张量列表将字典保存为值

Pytorch 展开和折叠:如何将这个图像张量重新组合在一起?

将 14 位灰度图像(保存在 long[] 中)复制到图片框

如何在 PyTorch 中将 RGB 图像编码为 n_class One 热张量