本文整理汇总了Python中skimage.color.label2rgb方法的典型用法代码示例。如果您正苦于以下问题:Python color.label2rgb方法的具体用法?Python color.label2rgb怎么用?Python color.label2rgb使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类skimage.color
的用法示例。
在下文中一共展示了color.label2rgb方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: mask_to_overlay_image
# 需要导入模块: from skimage import color [as 别名]
# 或者: from skimage.color import label2rgb [as 别名]
def mask_to_overlay_image(
image: np.ndarray, mask: np.ndarray, mask_strength: float
) -> np.ndarray:
"""Draw mask over image.
Args:
image (np.ndarray): RGB image used as underlay for masks
mask (np.ndarray): mask to draw
mask_strength (float): opacity of colorized masks
Returns:
np.ndarray: HxWx3 image with overlay
"""
mask = label2rgb(mask, bg_label=0)
image_with_overlay = image * (1 - mask_strength) + mask * mask_strength
image_with_overlay = (
(image_with_overlay * 255).clip(0, 255).round().astype(np.uint8)
)
return image_with_overlay
示例2: spectral_cluster
# 需要导入模块: from skimage import color [as 别名]
# 或者: from skimage.color import label2rgb [as 别名]
def spectral_cluster(filename, compactness_val=30, n=6):
'''
Apply spectral clustering to a given image using k-means clustering and
display results.
Args:
filename: name of the image to segment.
compactness_val: Controls the "boxyness" of each segment. Higher values
mean a more boxed shape.
n = number of clusters.
'''
img = misc.imread(filename)
labels1 = segmentation.slic(img, compactness=compactness_val, n_segments=n)
out1 = color.label2rgb(labels1, img, kind='overlay', colors=['red','green','blue','cyan','magenta','yellow'])
fig, ax = plt.subplots()
ax.imshow(out1, interpolation='nearest')
ax.set_title("Compactness: {} | Segments: {}".format(compactness_val, n))
plt.show()
示例3: experiment_with_parameters
# 需要导入模块: from skimage import color [as 别名]
# 或者: from skimage.color import label2rgb [as 别名]
def experiment_with_parameters():
'''
Apply spectral clustering to test wheat image using k-means clustering with
different values of k and different compactness values.
Saves the results to the Clusters folder for inspection.
'''
img = misc.imread("../Assets/wheat.png")
compactness_values = [30, 50, 70, 100, 200, 300, 500, 700, 1000]
n_segments_values = [3,4,5,6,7,8,9,10]
for compactness_val in compactness_values:
for n in n_segments_values:
labels1 = segmentation.slic(img, compactness=compactness_val, n_segments=n)
out1 = color.label2rgb(labels1, img, kind='overlay')
fig, ax = plt.subplots()
ax.imshow(out1, interpolation='nearest')
ax.set_title("Compactness: {} | Segments: {}".format(compactness_val, n))
plt.savefig("../Clusters/c{}_k{}.png".format(compactness_val, n))
plt.close(fig)
示例4: experiment_with_parameters
# 需要导入模块: from skimage import color [as 别名]
# 或者: from skimage.color import label2rgb [as 别名]
def experiment_with_parameters():
img = misc.imread("wheat.png")
compactness_values = [30, 50, 70, 100, 200, 300, 500, 700, 1000]
n_segments_values = [3,4,5,6,7,8,9,10]
for compactness_val in compactness_values:
for n in n_segments_values:
labels1 = segmentation.slic(img, compactness=compactness_val, n_segments=n)
out1 = color.label2rgb(labels1, img, kind='overlay')
fig, ax = plt.subplots()
ax.imshow(out1, interpolation='nearest')
ax.set_title("Compactness: {} | Segments: {}".format(compactness_val, n))
plt.savefig("RAG/c{}_k{}.png".format(compactness_val, n))
plt.close(fig)
示例5: segmentation
# 需要导入模块: from skimage import color [as 别名]
# 或者: from skimage.color import label2rgb [as 别名]
def segmentation(string):
if string:
mask = parse_jsonstring(string, io.imread(filename, as_gray=True).shape)
seg = watershed_segmentation(io.imread(filename, as_gray=True), mask)
src = color.label2rgb(seg, image=io.imread(filename, as_gray=True))
else:
raise PreventUpdate
return array_to_data_url(img_as_ubyte(src))
示例6: main
# 需要导入模块: from skimage import color [as 别名]
# 或者: from skimage.color import label2rgb [as 别名]
def main():
img = misc.imread("wheat.png")
# labels1 = segmentation.slic(img, compactness=100, n_segments=9)
labels1 = segmentation.slic(img, compactness=50, n_segments=4)
out1 = color.label2rgb(labels1, img, kind='overlay')
print(labels1.shape)
g = graph.rag_mean_color(img, labels1)
labels2 = graph.cut_threshold(labels1, g, 29)
out2 = color.label2rgb(labels2, img, kind='overlay')
# get roi
# logicalIndex = (labels2 != 1)
# gray = rgb2gray(img);
# gray[logicalIndex] = 0;
plt.figure()
io.imshow(out1)
plt.figure()
io.imshow(out2)
io.show()
示例7: spectral_cluster
# 需要导入模块: from skimage import color [as 别名]
# 或者: from skimage.color import label2rgb [as 别名]
def spectral_cluster(filename, compactness_val=30, n=6):
img = misc.imread(filename)
labels1 = segmentation.slic(img, compactness=compactness_val, n_segments=n)
out1 = color.label2rgb(labels1, img, kind='overlay', colors=['red','green','blue','cyan','magenta','yellow'])
fig, ax = plt.subplots()
ax.imshow(out1, interpolation='nearest')
ax.set_title("Compactness: {} | Segments: {}".format(compactness_val, n))
plt.show()
示例8: semseg_single_image
# 需要导入模块: from skimage import color [as 别名]
# 或者: from skimage.color import label2rgb [as 别名]
def semseg_single_image( predicted, img, to_store_name ):
label = np.argmax(predicted, axis=-1)
COLORS = ('white','red', 'blue', 'yellow', 'magenta',
'green', 'indigo', 'darkorange', 'cyan', 'pink',
'yellowgreen', 'black', 'darkgreen', 'brown', 'gray',
'purple', 'darkviolet')
rgb = (img + 1.) / 2.
preds = [color.label2rgb(np.squeeze(x), np.squeeze(y), colors=COLORS, kind='overlay')[np.newaxis,:,:,:] for x,y in zip(label, rgb)]
predicted = preds[0].squeeze()
process_semseg_frame(predicted, to_store_name)
示例9: plot_predictions
# 需要导入模块: from skimage import color [as 别名]
# 或者: from skimage.color import label2rgb [as 别名]
def plot_predictions(images_batch, labels_batch, batch_output, plt_title, file_save_name):
"""
Function to plot predictions from validation set.
:param images_batch:
:param labels_batch:
:param batch_output:
:param plt_title:
:param file_save_name:
:return:
"""
f = plt.figure(figsize=(20, 20))
n, c, h, w = images_batch.shape
mid_slice = c // 2
images_batch = torch.unsqueeze(images_batch[:, mid_slice, :, :], 1)
grid = utils.make_grid(images_batch.cpu(), nrow=4)
plt.subplot(131)
plt.imshow(grid.numpy().transpose((1, 2, 0)))
plt.title('Slices')
grid = utils.make_grid(labels_batch.unsqueeze_(1).cpu(), nrow=4)[0]
color_grid = color.label2rgb(grid.numpy(), bg_label=0)
plt.subplot(132)
plt.imshow(color_grid)
plt.title('Ground Truth')
grid = utils.make_grid(batch_output.unsqueeze_(1).cpu(), nrow=4)[0]
color_grid = color.label2rgb(grid.numpy(), bg_label=0)
plt.subplot(133)
plt.imshow(color_grid)
plt.title('Prediction')
plt.suptitle(plt_title)
plt.tight_layout()
f.savefig(file_save_name, bbox_inches='tight')
plt.close(f)
plt.gcf().clear()
示例10: mask_to_overlay_image
# 需要导入模块: from skimage import color [as 别名]
# 或者: from skimage.color import label2rgb [as 别名]
def mask_to_overlay_image(
image: np.ndarray,
masks: List[np.ndarray],
threshold: float = 0,
mask_strength: float = 0.5,
) -> np.ndarray:
"""Draws every mask for with some color over image.
Args:
image (np.ndarray): RGB image used as underlay for masks
masks (List[np.ndarray]): list of masks
threshold (float): threshold for masks binarization
mask_strength (float): opacity of colorized masks
Returns:
np.ndarray: HxWx3 image with overlay
"""
h, w = image.shape[:2]
labels = np.zeros((h, w), np.uint8)
for idx, mask in enumerate(masks, start=1):
labels[mask > threshold] = idx
mask = label2rgb(labels, bg_label=0)
image = np.array(image) / 255.0
image_with_overlay = image * (1 - mask_strength) + mask * mask_strength
image_with_overlay = (
(image_with_overlay * 255).clip(0, 255).round().astype(np.uint8)
)
return image_with_overlay
示例11: draw_label
# 需要导入模块: from skimage import color [as 别名]
# 或者: from skimage.color import label2rgb [as 别名]
def draw_label(label, img, n_class, label_titles, bg_label=0):
"""Convert label to rgb with label titles.
@param label_title: label title for each labels.
@type label_title: dict
"""
from PIL import Image
from scipy.misc import fromimage
from skimage.color import label2rgb
from skimage.transform import resize
colors = labelcolormap(n_class)
label_viz = label2rgb(label, img, colors=colors[1:], bg_label=bg_label)
# label 0 color: (0, 0, 0, 0) -> (0, 0, 0, 255)
label_viz[label == 0] = 0
# plot label titles on image using matplotlib
plt.subplots_adjust(left=0, right=1, top=1, bottom=0,
wspace=0, hspace=0)
plt.margins(0, 0)
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.gca().yaxis.set_major_locator(plt.NullLocator())
plt.axis('off')
# plot image
plt.imshow(label_viz)
# plot legend
plt_handlers = []
plt_titles = []
for label_value in np.unique(label):
if label_value not in label_titles:
continue
fc = colors[label_value]
p = plt.Rectangle((0, 0), 1, 1, fc=fc)
plt_handlers.append(p)
plt_titles.append(label_titles[label_value])
plt.legend(plt_handlers, plt_titles, loc='lower right', framealpha=0.5)
# convert plotted figure to np.ndarray
f = StringIO.StringIO()
plt.savefig(f, bbox_inches='tight', pad_inches=0)
result_img_pil = Image.open(f)
result_img = fromimage(result_img_pil, mode='RGB')
result_img = resize(result_img, img.shape, preserve_range=True)
result_img = result_img.astype(img.dtype)
return result_img
示例12: on_batch_end
# 需要导入模块: from skimage import color [as 别名]
# 或者: from skimage.color import label2rgb [as 别名]
def on_batch_end(self, runner: IRunner):
"""Batch end hook.
Args:
runner (IRunner): current runner
"""
lm = runner.loader_name
names = runner.input.get(self.name_key, [])
features = runner.input[self.input_key].detach().cpu()
images = utils.tensor_to_ndimage(features)
logits = runner.output[self.output_key]
logits = (
torch.unsqueeze_(logits, dim=1)
if len(logits.shape) < 4
else logits
)
if self.mask_type == "soft":
probabilities = torch.sigmoid(logits)
else:
probabilities = F.softmax(logits, dim=1)
probabilities = probabilities.detach().cpu().numpy()
masks = []
for probability in probabilities:
mask = np.zeros_like(probability[0], dtype=np.int32)
for i, ch in enumerate(probability):
mask[ch >= self.threshold] = i + 1
masks.append(mask)
for index, (image, mask) in enumerate(zip(images, masks)):
try:
suffix = names[index]
except IndexError:
suffix = f"{self.counter:06d}"
self.counter += 1
mask = label2rgb(mask, bg_label=0)
image = (
image * (1 - self.mask_strength) + mask * self.mask_strength
)
image = (image * 255).clip(0, 255).round().astype(np.uint8)
filename = f"{self.out_prefix}/{lm}/{suffix}.jpg"
imageio.imwrite(filename, image)