Spaces:
Sleeping
Sleeping
from matplotlib import cm | |
def get_pre_define_colors(num_classes, cmap_set: list[str] = None, in_rgb: bool = True, is_float: bool = False): | |
if cmap_set is None: | |
cmap_set = ['tab20', 'tab20b', 'tab20c'] | |
colors = [] | |
for cmap in cmap_set: | |
colors.extend(list(cm.get_cmap(cmap).colors)) | |
if in_rgb: | |
new_colors = [] | |
for color in colors: | |
if is_float: | |
new_colors.append(tuple(color)) | |
else: | |
new_colors.append(tuple(int(x * 255) for x in color)) | |
colors = new_colors | |
if num_classes > len(colors): | |
print(f"WARNING: {num_classes} classes are requested, but only {len(colors)} colors are available. Predefined colors will be reused.") | |
colors *= num_classes // len(colors) + 1 | |
else: | |
colors = colors[:num_classes] | |
return colors | |
def xyxy_to_xywh(box): | |
return [box[0], box[1], box[2] - box[0], box[3] - box[1]] |