Spaces:
Runtime error
Runtime error
File size: 1,197 Bytes
583456e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# Copyright (c) Facebook, Inc. and its affiliates.
# Copyright (c) Meta Platforms, Inc. All Rights Reserved
import os
from pathlib import Path
import numpy as np
import tqdm
from PIL import Image
def convert(input, output, index=None):
img = np.asarray(Image.open(input))
assert img.dtype == np.uint8
img = img - 1 # 0 (ignore) becomes 255. others are shifted by 1
if index is not None:
mapping = {i: k for k, i in enumerate(index)}
img = np.vectorize(lambda x: mapping[x] if x in mapping else 255)(
img.astype(np.float)
).astype(np.uint8)
Image.fromarray(img).save(output)
if __name__ == "__main__":
dataset_dir = (
Path(os.getenv("DETECTRON2_DATASETS", "datasets")) / "ADEChallengeData2016"
)
print('Caution: we only generate the validation set!')
for name in ["validation"]:
annotation_dir = dataset_dir / "annotations" / name
output_dir = dataset_dir / "annotations_detectron2" / name
output_dir.mkdir(parents=True, exist_ok=True)
for file in tqdm.tqdm(list(annotation_dir.iterdir())):
output_file = output_dir / file.name
convert(file, output_file)
|