类 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

        protected SuperpixelSLIC​(long addr)
    • 方法详细信息

      • __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 表示应吸收小于四分之一大小的超像素,这是默认值。该函数合并太小的组件,并将先前找到的相邻标签分配给该组件。调用此函数可能会更改超像素的最终数量。
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        重写
        finalize 在类中 Algorithm
        抛出
        java.lang.Throwable