Используйте torchvision.utils.save_image(), чтобы сохранить тензор как одноканальное изображение в градациях серого.

В Python используйте функцию utils.save_image в torchvision для сохранения тензорных данных в виде изображений PNG.Сохранение изображений в градациях серого немного отличается от сохранения 3-канальных изображений PNG
. Для изображений в оттенках серого:

  1. Изображения в градациях серого обычно представляют собой одноканальные изображения, поэтому при сохранении необходимо обеспечить правильное количество каналов .
  2. Заполните параметр cmap='grey' при вызове функции save_image

Ниже приведен пример кода для сохранения изображения в градациях серого.

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')

Если тензор находится на графическом процессоре, его необходимо сначала обработать и разместить на процессоре , потому что в конечном итоге он будет сохранен в памяти.

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 для удобного сохранения изображений.

Guess you like

Origin blog.csdn.net/hhb442/article/details/131084052