|
import cv2 |
|
import os |
|
from utils 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) |
|
mask = normalize(anomaly_map[idx]) |
|
vis = apply_ad_scoremap(vis, mask) |
|
vis = cv2.cvtColor(vis, cv2.COLOR_RGB2BGR) |
|
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) |
|
|