Spaces:
Configuration error
Configuration error
import torch | |
from matplotlib import cm | |
import matplotlib.pyplot as plt | |
import matplotlib.patches as patches | |
import numpy as np | |
import cv2 | |
def unnormalize_img(img, mean, std): | |
""" | |
img: [3, h, w] | |
""" | |
img = img.detach().cpu().clone() | |
# img = img / 255. | |
img *= torch.tensor(std).view(3, 1, 1) | |
img += torch.tensor(mean).view(3, 1, 1) | |
min_v = torch.min(img) | |
img = (img - min_v) / (torch.max(img) - min_v) | |
return img | |
def bgr_to_rgb(img): | |
return img[:, :, [2, 1, 0]] | |
def horizon_concate(inp0, inp1): | |
h0, w0 = inp0.shape[:2] | |
h1, w1 = inp1.shape[:2] | |
if inp0.ndim == 3: | |
inp = np.zeros((max(h0, h1), w0 + w1, 3), dtype=inp0.dtype) | |
inp[:h0, :w0, :] = inp0 | |
inp[:h1, w0:(w0 + w1), :] = inp1 | |
else: | |
inp = np.zeros((max(h0, h1), w0 + w1), dtype=inp0.dtype) | |
inp[:h0, :w0] = inp0 | |
inp[:h1, w0:(w0 + w1)] = inp1 | |
return inp | |
def vertical_concate(inp0, inp1): | |
h0, w0 = inp0.shape[:2] | |
h1, w1 = inp1.shape[:2] | |
if inp0.ndim == 3: | |
inp = np.zeros((h0 + h1, max(w0, w1), 3), dtype=inp0.dtype) | |
inp[:h0, :w0, :] = inp0 | |
inp[h0:(h0 + h1), :w1, :] = inp1 | |
else: | |
inp = np.zeros((h0 + h1, max(w0, w1)), dtype=inp0.dtype) | |
inp[:h0, :w0] = inp0 | |
inp[h0:(h0 + h1), :w1] = inp1 | |
return inp | |
def transparent_cmap(cmap): | |
"""Copy colormap and set alpha values""" | |
mycmap = cmap | |
mycmap._init() | |
mycmap._lut[:,-1] = 0.3 | |
return mycmap | |
cmap = transparent_cmap(plt.get_cmap('jet')) | |
def set_grid(ax, h, w, interval=8): | |
ax.set_xticks(np.arange(0, w, interval)) | |
ax.set_yticks(np.arange(0, h, interval)) | |
ax.grid() | |
ax.set_yticklabels([]) | |
ax.set_xticklabels([]) | |
color_list = np.array( | |
[ | |
0.000, 0.447, 0.741, | |
0.850, 0.325, 0.098, | |
0.929, 0.694, 0.125, | |
0.494, 0.184, 0.556, | |
0.466, 0.674, 0.188, | |
0.301, 0.745, 0.933, | |
0.635, 0.078, 0.184, | |
0.300, 0.300, 0.300, | |
0.600, 0.600, 0.600, | |
1.000, 0.000, 0.000, | |
1.000, 0.500, 0.000, | |
0.749, 0.749, 0.000, | |
0.000, 1.000, 0.000, | |
0.000, 0.000, 1.000, | |
0.667, 0.000, 1.000, | |
0.333, 0.333, 0.000, | |
0.333, 0.667, 0.000, | |
0.333, 1.000, 0.000, | |
0.667, 0.333, 0.000, | |
0.667, 0.667, 0.000, | |
0.667, 1.000, 0.000, | |
1.000, 0.333, 0.000, | |
1.000, 0.667, 0.000, | |
1.000, 1.000, 0.000, | |
0.000, 0.333, 0.500, | |
0.000, 0.667, 0.500, | |
0.000, 1.000, 0.500, | |
0.333, 0.000, 0.500, | |
0.333, 0.333, 0.500, | |
0.333, 0.667, 0.500, | |
0.333, 1.000, 0.500, | |
0.667, 0.000, 0.500, | |
0.667, 0.333, 0.500, | |
0.667, 0.667, 0.500, | |
0.667, 1.000, 0.500, | |
1.000, 0.000, 0.500, | |
1.000, 0.333, 0.500, | |
1.000, 0.667, 0.500, | |
1.000, 1.000, 0.500, | |
0.000, 0.333, 1.000, | |
0.000, 0.667, 1.000, | |
0.000, 1.000, 1.000, | |
0.333, 0.000, 1.000, | |
0.333, 0.333, 1.000, | |
0.333, 0.667, 1.000, | |
0.333, 1.000, 1.000, | |
0.667, 0.000, 1.000, | |
0.667, 0.333, 1.000, | |
0.667, 0.667, 1.000, | |
0.667, 1.000, 1.000, | |
1.000, 0.000, 1.000, | |
1.000, 0.333, 1.000, | |
1.000, 0.667, 1.000, | |
0.167, 0.000, 0.000, | |
0.333, 0.000, 0.000, | |
0.500, 0.000, 0.000, | |
0.667, 0.000, 0.000, | |
0.833, 0.000, 0.000, | |
1.000, 0.000, 0.000, | |
0.000, 0.167, 0.000, | |
0.000, 0.333, 0.000, | |
0.000, 0.500, 0.000, | |
0.000, 0.667, 0.000, | |
0.000, 0.833, 0.000, | |
0.000, 1.000, 0.000, | |
0.000, 0.000, 0.167, | |
0.000, 0.000, 0.333, | |
0.000, 0.000, 0.500, | |
0.000, 0.000, 0.667, | |
0.000, 0.000, 0.833, | |
0.000, 0.000, 1.000, | |
0.000, 0.000, 0.000, | |
0.143, 0.143, 0.143, | |
0.286, 0.286, 0.286, | |
0.429, 0.429, 0.429, | |
0.571, 0.571, 0.571, | |
0.714, 0.714, 0.714, | |
0.857, 0.857, 0.857, | |
1.000, 1.000, 1.000, | |
0.50, 0.5, 0 | |
] | |
).astype(np.float32) | |
colors = color_list.reshape((-1, 3)) * 255 | |
colors = np.array(colors, dtype=np.uint8).reshape(len(colors), 1, 1, 3) | |