| import numpy as np |
| import matplotlib |
| import torch |
|
|
| def visualize_depth(depth: np.ndarray, |
| depth_min=None, |
| depth_max=None, |
| percentile=2, |
| ret_minmax=False, |
| cmap='Spectral'): |
| if depth_min is None: depth_min = np.percentile(depth, percentile) |
| if depth_max is None: depth_max = np.percentile(depth, 100 - percentile) |
| if depth_min == depth_max: |
| depth_min = depth_min - 1e-6 |
| depth_max = depth_max + 1e-6 |
| cm = matplotlib.colormaps[cmap] |
| depth = ((depth - depth_min) / (depth_max - depth_min)).clip(0, 1) |
| img_colored_np = cm(depth, bytes=False)[:, :, 0:3] |
| if ret_minmax: |
| return img_colored_np, depth_min, depth_max |
| else: |
| return img_colored_np |
|
|