类 SuperpixelSLIC
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.ximgproc.SuperpixelSLIC
-
public class SuperpixelSLIC extends Algorithm
实现 CITE: Achanta2012 中描述的 SLIC (Simple Linear Iterative Clustering) 超像素算法的类。SLIC (Simple Linear Iterative Clustering) 使用像素通道和图像平面空间对像素进行聚类,以有效地生成紧凑、几乎均匀的超像素。该方法的简单性使其非常易于使用,一个单独的参数指定了超像素的数量,并且该算法的效率使其非常实用。SLIC 类有几种优化方法:SLICO 代表“零参数 SLIC”,它是 CITE: Achanta2012 中描述的基线 SLIC 的一种优化。MSLIC 代表“流形 SLIC”,它是 CITE: Liu_2017_IEEE 中描述的基线 SLIC 的一种优化。
-
-
构造函数摘要
构造函数 修饰符 构造函数 描述 保护SuperpixelSLIC(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 静态 SuperpixelSLIC__fromPtr__(long addr)void强制标签连通性()强制标签连接性。voidenforceLabelConnectivity(int min_element_size)强制标签连接性。protected voidfinalize()voidgetLabelContourMask(Mat image)返回存储在 SuperpixelSLIC 对象中的超像素分割的掩码。voidgetLabelContourMask(Mat image, boolean thick_line)返回存储在 SuperpixelSLIC 对象中的超像素分割的掩码。voidgetLabels(Mat labels_out)返回图像的分割标签。intgetNumberOfSuperpixels()计算给定分割上实际的超像素数量,该分割已计算并存储在 SuperpixelSLIC 对象中。voiditerate()使用 SuperpixelSLIC 对象中初始化的参数计算给定图像的超像素分割。voiditerate(int num_iterations)使用 SuperpixelSLIC 对象中初始化的参数计算给定图像的超像素分割。-
从类继承的方法 org.opencv.core.Algorithm
clear, empty, getDefaultName, getNativeObjAddr, save
-
-
-
-
方法详细信息
-
__fromPtr__
public static SuperpixelSLIC __fromPtr__(long addr)
-
getNumberOfSuperpixels
public int getNumberOfSuperpixels()
计算给定分割上实际的超像素数量,该分割已计算并存储在 SuperpixelSLIC 对象中。- 返回
- 自动生成
-
iterate
public void iterate(int num_iterations)
使用 SuperpixelSLIC 对象中初始化的参数计算给定图像的超像素分割。可以在不需要使用 createSuperpixelSLIC() 初始化算法的情况下再次调用此函数。这节省了为算法的所有结构分配内存的计算成本。- 参数
num_iterations- 迭代次数。较高的数字可以改善结果。该函数使用通过函数 createSuperpixelSLIC() 初始化的参数计算图像的超像素分割。该算法从超像素网格开始,然后通过提出边缘边界的更新来细化边界。
-
iterate
public void iterate()
使用 SuperpixelSLIC 对象中初始化的参数计算给定图像的超像素分割。可以在不需要使用 createSuperpixelSLIC() 初始化算法的情况下再次调用此函数。这节省了为算法的所有结构分配内存的计算成本。该函数使用通过函数 createSuperpixelSLIC() 初始化的参数计算图像的超像素分割。该算法从超像素网格开始,然后通过提出边缘边界的更新来细化边界。
-
getLabels
public void getLabels(Mat labels_out)
返回图像的分割标签。每个标签代表一个超像素,并且每个像素都分配给一个超像素标签。- 参数
labels_out- 返回:一个 CV_32SC1 整数数组,其中包含超像素分割的标签。标签的范围是 [0, getNumberOfSuperpixels()]。该函数返回一个包含超像素分割标签的图像。标签的范围是 [0, getNumberOfSuperpixels()]。
-
getLabelContourMask
public void getLabelContourMask(Mat image, boolean thick_line)
返回存储在 SuperpixelSLIC 对象中的超像素分割的掩码。- 参数
image- 返回:CV_8U1 图像掩码,其中 -1 表示像素是超像素边界,否则为 0。thick_line- 如果为 false,则边界只有一像素宽,否则所有边界上的像素都被遮蔽。该函数返回超像素分割的边界。
-
getLabelContourMask
public void getLabelContourMask(Mat image)
返回存储在 SuperpixelSLIC 对象中的超像素分割的掩码。- 参数
image- 返回:CV_8U1 图像掩码,其中 -1 表示像素是超像素边界,否则为 0。被遮蔽。该函数返回超像素分割的边界。
-
强制标签连通性
public void enforceLabelConnectivity(int min_element_size)
强制标签连接性。- 参数
min_element_size- 应被吸收到更大超像素中的最小元素大小百分比。给定得到的平均超像素大小有效值应在 0-100 范围内,25 表示应吸收小于四分之一大小的超像素,这是默认值。该函数合并太小的组件,并将先前找到的相邻标签分配给该组件。调用此函数可能会更改超像素的最终数量。
-
强制标签连通性
public void enforceLabelConnectivity()
强制标签连通性。超像素。给定得到的平均超像素大小有效值应在 0-100 范围内,25 表示应吸收小于四分之一大小的超像素,这是默认值。该函数合并太小的组件,并将先前找到的相邻标签分配给该组件。调用此函数可能会更改超像素的最终数量。
-
-