Spaces:
Running
on
Zero
Running
on
Zero
| from __future__ import print_function | |
| import numpy as np | |
| from PIL import Image | |
| import numpy as np | |
| import os | |
| import matplotlib.pyplot as plt | |
| import torch | |
| def load_image(path): | |
| if(path[-3:] == 'dng'): | |
| import rawpy | |
| with rawpy.imread(path) as raw: | |
| img = raw.postprocess() | |
| elif(path[-3:]=='bmp' or path[-3:]=='jpg' or path[-3:]=='png'): | |
| import cv2 | |
| return cv2.imread(path)[:,:,::-1] | |
| else: | |
| img = (255*plt.imread(path)[:,:,:3]).astype('uint8') | |
| return img | |
| def save_image(image_numpy, image_path, ): | |
| image_pil = Image.fromarray(image_numpy) | |
| image_pil.save(image_path) | |
| 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) | |
| def tensor2im(image_tensor, imtype=np.uint8, cent=1., factor=255./2.): | |
| # def tensor2im(image_tensor, imtype=np.uint8, cent=1., factor=1.): | |
| image_numpy = image_tensor[0].cpu().float().numpy() | |
| image_numpy = (np.transpose(image_numpy, (1, 2, 0)) + cent) * factor | |
| return image_numpy.astype(imtype) | |
| def im2tensor(image, imtype=np.uint8, cent=1., factor=255./2.): | |
| # def im2tensor(image, imtype=np.uint8, cent=1., factor=1.): | |
| return torch.Tensor((image / factor - cent) | |
| [:, :, :, np.newaxis].transpose((3, 2, 0, 1))) | |