Convert Color label mask to Polygons per class
$ pip install cmask2polygonsfrom 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 isintadd_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 (