Convert Color label mask to Polygons per class
$ pip install cmask2polygons
from cmask2polygons import get_polygons_per_class
color_mask_path = '. . .'
color_mask = cv2.cvtColor(cv2.imread(color_mask_path), cv2.COLOR_BGR2RGB)
# Key:str, Val:tuple
cls_color_map = {
"class_name_1": (125, 125, 125), # RGB Color
"class_name_2": (70, 20, 225),
. . .
}
# Get Polygons from Color Label Mask
polygons_per_class = get_polygons_per_class(
color_mask=color_mask,
cls_color_map=cls_color_map,
min_area=100.0,
epsilon_param=8e-4,
pt_type=int,
add_closept=False,
)
color_mask
: RGB Image (numpy.ndarray
)cls_color_map
: Color Value per Class (dict
)min_area
: Minimum area of object (float
). Default is 100.0epsilon_param
: Value for polygon approximating (float
). Default is 8e-4pt_type
: Data type of points. Default isint
add_closept
: Append end point (== start point) for representing closed. Default isFalse
- Data type:
dict
- Key: Class name (
str
) - Value: list of polygon x (
pt_type
), y (pt_type
) coordinates
- Key: Class name (