Download training_libs/visualization.py from quandao92/clip-based-anomaly-detection: direct link, hf CLI and curl.
- Browser
- Download file 1.11 kB
-
https://huggingface.co/quandao92/clip-based-anomaly-detection/resolve/main/training_libs/visualization.py
- Command line
-
hf download hf://quandao92/clip-based-anomaly-detection/training_libs/visualization.py
-
curl -L -o visualization.py https://huggingface.co/quandao92/clip-based-anomaly-detection/resolve/main/training_libs/visualization.py
1.11 kB
| import cv2 | |
| import os | |
| # from utils import normalize | |
| from sklearn.preprocessing import normalize | |
| import numpy as np | |
| def visualizer(pathes, anomaly_map, img_size, save_path, cls_name): | |
| for idx, path in enumerate(pathes): | |
| cls = path.split('/')[-2] | |
| filename = path.split('/')[-1] | |
| vis = cv2.cvtColor(cv2.resize(cv2.imread(path), (img_size, img_size)), cv2.COLOR_BGR2RGB) # RGB | |
| mask = normalize(anomaly_map[idx]) | |
| vis = apply_ad_scoremap(vis, mask) | |
| vis = cv2.cvtColor(vis, cv2.COLOR_RGB2BGR) # BGR | |
| save_vis = os.path.join(save_path, 'imgs', cls_name[idx], cls) | |
| if not os.path.exists(save_vis): | |
| os.makedirs(save_vis) | |
| cv2.imwrite(os.path.join(save_vis, filename), vis) | |
| def apply_ad_scoremap(image, scoremap, alpha=0.5): | |
| np_image = np.asarray(image, dtype=float) | |
| scoremap = (scoremap * 255).astype(np.uint8) | |
| scoremap = cv2.applyColorMap(scoremap, cv2.COLORMAP_JET) | |
| scoremap = cv2.cvtColor(scoremap, cv2.COLOR_BGR2RGB) | |
| return (alpha * np_image + (1 - alpha) * scoremap).astype(np.uint8) | |