|
|
@@ -0,0 +1,48 @@
|
|
|
+import numpy as np
|
|
|
+
|
|
|
+from labelme.utils import draw as draw_module
|
|
|
+from labelme.utils import shape as shape_module
|
|
|
+
|
|
|
+from .util import get_img_and_lbl
|
|
|
+
|
|
|
+
|
|
|
+# -----------------------------------------------------------------------------
|
|
|
+
|
|
|
+
|
|
|
+def test_label_colormap():
|
|
|
+ N = 255
|
|
|
+ colormap = draw_module.label_colormap(N=N)
|
|
|
+ assert colormap.shape == (N, 3)
|
|
|
+
|
|
|
+
|
|
|
+def test_label2rgb():
|
|
|
+ img, lbl, label_names = get_img_and_lbl()
|
|
|
+ n_labels = len(label_names)
|
|
|
+
|
|
|
+ viz = draw_module.label2rgb(lbl=lbl, n_labels=n_labels)
|
|
|
+ assert lbl.shape == viz.shape[:2]
|
|
|
+ assert viz.dtype == np.uint8
|
|
|
+
|
|
|
+ viz = draw_module.label2rgb(lbl=lbl, img=img, n_labels=n_labels)
|
|
|
+ assert img.shape[:2] == lbl.shape == viz.shape[:2]
|
|
|
+ assert viz.dtype == np.uint8
|
|
|
+
|
|
|
+
|
|
|
+def test_draw_label():
|
|
|
+ img, lbl, label_names = get_img_and_lbl()
|
|
|
+
|
|
|
+ viz = draw_module.draw_label(lbl, img, label_names=label_names)
|
|
|
+ assert viz.shape[:2] == img.shape[:2] == lbl.shape[:2]
|
|
|
+ assert viz.dtype == np.uint8
|
|
|
+
|
|
|
+
|
|
|
+def test_draw_instances():
|
|
|
+ img, lbl, label_names = get_img_and_lbl()
|
|
|
+ labels_and_masks = {l: lbl == l for l in np.unique(lbl) if l != 0}
|
|
|
+ labels, masks = zip(*labels_and_masks.items())
|
|
|
+ masks = np.asarray(masks)
|
|
|
+ bboxes = shape_module.masks_to_bboxes(masks)
|
|
|
+ captions = [label_names[l] for l in labels]
|
|
|
+ viz = draw_module.draw_instances(img, bboxes, labels, captions=captions)
|
|
|
+ assert viz.shape[:2] == img.shape[:2]
|
|
|
+ assert viz.dtype == np.uint8
|