В Python используйте функцию utils.save_image в torchvision для сохранения тензорных данных в виде изображений PNG.Сохранение изображений в градациях серого немного отличается от сохранения 3-канальных изображений PNG
. Для изображений в оттенках серого:
- Изображения в градациях серого обычно представляют собой одноканальные изображения, поэтому при сохранении необходимо обеспечить правильное количество каналов .
- Заполните параметр 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 для удобного сохранения изображений.