主要内容

superpixels

图像的二维超像素过分割

描述

例子

lNumLabels) = superpixels (一个N计算二维灰度或RGB图像的超像素一个N指定要创建的超像素的数量。函数返回l,类型为的标签矩阵,NumLabels,即实际计算的超像素数。

superpixels函数采用简单线性迭代聚类(SLIC)算法[1].该算法将像素按相似值分组。将这些区域用于图像处理操作,如分割,可以降低这些操作的复杂性。

lNumLabels) = superpixels (一个N名称,值计算图像的超像素一个使用名称-值对参数来控制分段的各个方面。

例子

全部折叠

将图像读入工作区。

一个= imread (“kobi.png”);

计算图像的超像素。

[L, N] = superpixels (, 500);

显示覆盖在原始图像上的超像素边界。

图BW =边界掩模(L);imshow (imoverlay (BW,“青色”),“InitialMagnification”, 67)

图中包含一个轴对象。axis对象包含一个image类型的对象。

将输出图像中每个像素的颜色设置为超像素区域的平均RGB颜色。

outputImage = 0(大小(A),“喜欢”,);idx = label2idx (L);numRows =大小(1);numCols =大小(2);/ / / / / / / / /greenIdx = idx {labelVal} + numRows * numCols;blueIdx = idx {labelVal} + 2 * numRows * numCols;outputImage (redIdx) =意味着((redIdx));outputImage (greenIdx) =意味着((greenIdx));outputImage (blueIdx) =意味着((blueIdx));结束图imshow (outputImage,“InitialMagnification”, 67)

图中包含一个轴对象。axis对象包含一个image类型的对象。

输入参数

全部折叠

图像分割,指定为二维灰度图像或二维真彩色图像。为int16数据,一个一定是灰度图像。当参数isInputLab真正的,输入图像必须是数据类型

数据类型:||int16|uint8|uint16

期望的超像素数,指定为正整数。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:B =超像素(A,100,'NumIterations', 20);

超像素的形状,指定为数字标量。SLIC算法的紧致度参数控制超像素的形状。值越高,超像素的形状就越规则,也就是正方形。较低的值会使超像素更好地贴合边界,使其形状不规则。允许范围为(0正).紧性的典型值在这个范围内(1、20)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输入的图像数据是L * a * b *颜色空间,指定为真正的

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

用于计算超像素的算法,指定为以下值之一。的superpixels函数使用简单线性迭代聚类(SLIC)算法的两种变体。

价值

意义

“slic0”

superpixels使用SLIC0算法进行优化“简洁”自适应地在第一次迭代之后。这是默认值。

“slic”

“简洁”在集群期间是恒定的。

数据类型:字符|字符串

算法在聚类阶段使用的迭代次数,指定为正整数。对于大多数问题,不需要调整此参数。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出参数

全部折叠

标签矩阵,作为一个正整数数组返回。的值1第一个区域,2第二个区域,以此类推对于图像中的每个超像素区域。

数据类型:

计算的超像素数,返回为正整数。

数据类型:

参考文献

Radhakrishna Achanta, Appu Shaji, Kevin Smith, Aurelien Lucchi, Pascal Fua, Sabine Susstrunk,SLIC超像素与最先进的超像素方法.《模式分析与机器智能学报》,第34卷,第11期,第2274-2282页,2012年5月

扩展功能

介绍了R2016a