You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.1 KiB
46 lines
1.1 KiB
import numpy as np
|
|
import os
|
|
import imageio
|
|
import math
|
|
import torch
|
|
|
|
|
|
# convert a tensor into a numpy array
|
|
def tensor2im(image_tensor, bytes=255.0, imtype=np.uint8):
|
|
if image_tensor.dim() == 3:
|
|
image_numpy = image_tensor.cpu().float().numpy()
|
|
else:
|
|
image_numpy = image_tensor[0].cpu().float().numpy()
|
|
image_numpy = (np.transpose(image_numpy, (1, 2, 0)) + 1) / 2.0 * bytes
|
|
|
|
return image_numpy.astype(imtype)
|
|
|
|
|
|
# conver a tensor into a numpy array
|
|
def tensor2array(value_tensor):
|
|
if value_tensor.dim() == 3:
|
|
numpy = value_tensor.view(-1).cpu().float().numpy()
|
|
else:
|
|
numpy = value_tensor[0].view(-1).cpu().float().numpy()
|
|
return numpy
|
|
|
|
|
|
def save_image(image_numpy, image_path):
|
|
if image_numpy.shape[2] == 1:
|
|
image_numpy = image_numpy.reshape(image_numpy.shape[0], image_numpy.shape[1])
|
|
|
|
imageio.imwrite(image_path, image_numpy)
|
|
|
|
|
|
def mkdirs(paths):
|
|
if isinstance(paths, list) and not isinstance(paths, str):
|
|
for path in paths:
|
|
mkdir(path)
|
|
else:
|
|
mkdir(paths)
|
|
|
|
|
|
def mkdir(path):
|
|
if not os.path.exists(path):
|
|
os.makedirs(path)
|