【问题标题】:the output of color.label2rgb in skimageskimage 中 color.label2rgb 的输出
【发布时间】:2020-03-17 18:49:05
【问题描述】:
在normalized cut code segment中,color.label2rgb的输出我不是很清楚。
labels1 = segmentation.slic(img, compactness=30, n_segments=400)
out1 = color.label2rgb(labels1, img, kind='avg')
当我输出 labels1 的结果和 out1 的不同维度时,看起来 out1 的结果与条目值不匹配在 labels1 中。 out1 中的入口值是什么意思。它们与 labels1 中的标签 ID 有什么关系?
【问题讨论】:
标签:
python
image-processing
scikit-learn
computer-vision
scikit-image
【解决方案1】:
segmentation.slic 将在 Color-(x,y,z) 空间中使用 k-means 聚类对图像进行分割。
np.unique(labels1) 会给你标签。
接下来,color.label2rgb 返回一个 RGB 图像,其中颜色编码的标签被绘制在图像上。
out1.shape 返回 (400, 600, 3),这是将标签中每个不同值的循环颜色图(颜色)与图像以特定 alpha 值混合的结果。
另外,color.label2rgb 中有一个名为 kind 的默认输入参数。
所需的彩色图像类型。 'overlay' 循环定义颜色
并将彩色标签覆盖在原始图像上。 ‘平均’
用它的平均颜色替换每个标记的段,对于
染色级或粉彩画的外观。
因此,在您的情况下,您将每个标记的部分替换为其平均颜色,以获得染色类或柔和的绘画外观。