|
|
import numpy as np
|
|
|
|
|
|
|
|
|
def visualize_unique_mask(unique_mask):
|
|
|
|
|
|
unique_values = np.unique(unique_mask)
|
|
|
color_map = np.zeros((len(unique_values), 3), dtype=np.uint8)
|
|
|
|
|
|
|
|
|
for i, value in enumerate(unique_values):
|
|
|
if value == 0:
|
|
|
color_map[i] = [0, 0, 0]
|
|
|
else:
|
|
|
color_map[i] = tuple(
|
|
|
np.random.randint(0, 255, size=3)
|
|
|
)
|
|
|
|
|
|
|
|
|
colored_unique_mask = np.zeros(
|
|
|
(unique_mask.shape[0], unique_mask.shape[1], 3), dtype=np.uint8
|
|
|
)
|
|
|
for i in range(unique_mask.shape[0]):
|
|
|
for j in range(unique_mask.shape[1]):
|
|
|
colored_unique_mask[i, j] = color_map[unique_mask[i, j]]
|
|
|
|
|
|
return colored_unique_mask
|
|
|
|
|
|
|
|
|
def visualize_wb_mask(mask):
|
|
|
colored_mask = np.zeros(
|
|
|
(mask.shape[0], mask.shape[1], 3), dtype=np.uint8
|
|
|
)
|
|
|
|
|
|
|
|
|
colored_mask[mask > 0] = [255, 255, 255]
|
|
|
|
|
|
return colored_mask
|
|
|
|
|
|
|
|
|
def mask_map(mask):
|
|
|
labels = np.unique(mask)
|
|
|
labels = labels[labels!=0].tolist()
|
|
|
object_images = []
|
|
|
|
|
|
for value in labels:
|
|
|
|
|
|
object_mask = (mask == value).astype(np.uint8)
|
|
|
|
|
|
|
|
|
colored_mask = np.zeros((mask.shape[0], mask.shape[1], 3), dtype=np.uint8)
|
|
|
|
|
|
|
|
|
colored_mask[object_mask > 0] = [255, 255, 255]
|
|
|
|
|
|
|
|
|
object_images.append(colored_mask)
|
|
|
|
|
|
return object_images
|
|
|
|