ClementP's picture
Upload 55 files
69591a9 verified
import cv2
import numpy as np
from skimage.segmentation import expand_labels
def read_to_mask(f):
img = cv2.imread(str(f), cv2.IMREAD_UNCHANGED)[:,:,::-1]
mask = np.zeros(img.shape[:2], dtype=np.uint8)
mask[img[:, :, 0] > 200] = 1
mask[img[:, :, 1] > 200] = 2
return mask
def read_mask_from_path_gens(dict_gens, mapping=None):
output = {k: dict() for k in dict_gens.keys()}
for k, files in dict_gens.items():
for file in files:
name = file.parent.stem
if mapping is not None:
name = mapping.get(name, name)
mask = read_to_mask(file)
mask = expand_labels(mask, 1)
if output[k].get(name) is None:
output[k][name] = []
output[k][name].append(mask)
return output