Spaces:
Configuration error
Configuration error
import matplotlib.pyplot as plt | |
import numpy as np | |
from lib.config import cfg | |
import os | |
import cv2 | |
class Visualizer: | |
def visualize(self, output, batch): | |
rgb_pred = output['rgb_map'][0].detach().cpu().numpy() | |
mask_at_box = batch['mask_at_box'][0].detach().cpu().numpy() | |
H, W = int(cfg.H * cfg.ratio), int(cfg.W * cfg.ratio) | |
mask_at_box = mask_at_box.reshape(H, W) | |
img_pred = np.zeros((H, W, 3)) | |
img_pred[mask_at_box] = rgb_pred | |
result_dir = os.path.join('data/result/if-nerf', cfg.exp_name) | |
if cfg.human in [302, 313, 315]: | |
i = batch['i'].item() + 1 | |
else: | |
i = batch['i'].item() | |
i = i + cfg.begin_i | |
cam_ind = batch['cam_ind'].item() | |
frame_dir = os.path.join(result_dir, 'frame_{}'.format(i)) | |
pred_img_path = os.path.join(frame_dir, | |
'pred_{}.jpg'.format(cam_ind + 1)) | |
os.system('mkdir -p {}'.format(os.path.dirname(pred_img_path))) | |
img_pred = (img_pred * 255)[..., [2, 1, 0]] | |
cv2.imwrite(pred_img_path, img_pred) | |
# _, (ax1, ax2) = plt.subplots(1, 2) | |
# ax1.imshow(img_pred) | |
# ax2.imshow(img_gt) | |
# plt.show() | |