Skip to content

Commit a8b9486

Browse files
committed
Add data_dataset_coco/Visualization
1 parent 0dcb729 commit a8b9486

File tree

4 files changed

+28
-2
lines changed

4 files changed

+28
-2
lines changed
44.3 KB
Loading
34.2 KB
Loading
35.3 KB
Loading

examples/instance_segmentation/labelme2coco.py

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
import sys
1111
import uuid
1212

13+
import imgviz
1314
import numpy as np
14-
import PIL.Image
1515

1616
import labelme
1717

@@ -29,13 +29,18 @@ def main():
2929
parser.add_argument("input_dir", help="input annotated directory")
3030
parser.add_argument("output_dir", help="output dataset directory")
3131
parser.add_argument("--labels", help="labels file", required=True)
32+
parser.add_argument(
33+
"--noviz", help="no visualization", action="store_true"
34+
)
3235
args = parser.parse_args()
3336

3437
if osp.exists(args.output_dir):
3538
print("Output directory already exists:", args.output_dir)
3639
sys.exit(1)
3740
os.makedirs(args.output_dir)
3841
os.makedirs(osp.join(args.output_dir, "JPEGImages"))
42+
if not args.noviz:
43+
os.makedirs(osp.join(args.output_dir, "Visualization"))
3944
print("Creating dataset:", args.output_dir)
4045

4146
now = datetime.datetime.now()
@@ -85,7 +90,7 @@ def main():
8590
out_img_file = osp.join(args.output_dir, "JPEGImages", base + ".jpg")
8691

8792
img = labelme.utils.img_data_to_arr(label_file.imageData)
88-
PIL.Image.fromarray(img).convert("RGB").save(out_img_file)
93+
imgviz.io.imsave(out_img_file, img)
8994
data["images"].append(
9095
dict(
9196
license=0,
@@ -153,6 +158,27 @@ def main():
153158
)
154159
)
155160

161+
if not args.noviz:
162+
labels, captions, masks = zip(
163+
*[
164+
(class_name_to_id[cnm], cnm, msk)
165+
for (cnm, gid), msk in masks.items()
166+
if cnm in class_name_to_id
167+
]
168+
)
169+
viz = imgviz.instances2rgb(
170+
image=img,
171+
labels=labels,
172+
masks=masks,
173+
captions=captions,
174+
font_size=15,
175+
line_width=2,
176+
)
177+
out_viz_file = osp.join(
178+
args.output_dir, "Visualization", base + ".jpg"
179+
)
180+
imgviz.io.imsave(out_viz_file, viz)
181+
156182
with open(out_ann_file, "w") as f:
157183
json.dump(data, f)
158184

0 commit comments

Comments
 (0)