skimage.future#

具有实验性API的功能。

警告

尽管你可以依赖这个包中的函数在未来仍然存在,但API可能会随着任何版本更新而改变 并且不会遵循skimage的两版本弃用路径。因此,请谨慎使用这里的函数,不要在依赖于更新skimage版本的生成代码中使用它们。

skimage.future.fit_segmenter

使用图像的标记部分和分类器进行分割。

skimage.future.manual_lasso_segmentation

基于使用鼠标进行的自由形式选择返回一个标签图像。

skimage.future.manual_polygon_segmentation

根据使用鼠标进行的多边形选择返回标签图像。

skimage.future.predict_segmenter

使用预训练分类器进行图像分割。

skimage.future.TrainableSegmenter

用于分类像素的估计器。


skimage.future.fit_segmenter(labels, features, clf)[源代码][源代码]#

使用图像的标记部分和分类器进行分割。

参数:
标签int 的 ndarray

标签图像。标签 >= 1 对应于训练集,标签 0 对应于待分割的无标签像素。

功能ndarray

特征数组,第一维度对应特征的数量,其他维度对应 labels.shape

clf分类器对象

分类器对象,暴露了 fitpredict 方法,如 scikit-learn 的 API 中的 RandomForestClassifierLogisticRegression 分类器实例。

返回:
clf分类器对象

labels 上训练的分类器

Raises:
如果 self.clf 尚未拟合(使用 self.fit),则抛出 NotFittedError。

使用局部特征和随机森林的可训练分割

Trainable segmentation using local features and random forests

skimage.future.manual_lasso_segmentation(image, alpha=0.4, return_all=False)[源代码][源代码]#

基于使用鼠标进行的自由形式选择返回一个标签图像。

参数:
图像(M, N[, 3]) 数组

灰度或RGB图像。

alphafloat, 可选

图像上绘制的多边形的透明度值。

return_allbool, 可选

如果为 True,则返回一个包含每个单独绘制的多边形的数组。(多边形可能重叠。)如果为 False(默认),则后绘制的多边形在重叠处“覆盖”先前的多边形。

返回:
标签int 数组,形状为 ([Q, ]M, N)

分割的区域。如果模式是 ‘separate’,数组的领先维度对应于用户绘制的区域数量。

注释

按住鼠标左键以围绕每个对象进行绘制。

示例

>>> from skimage import data, future, io
>>> camera = data.camera()
>>> mask = future.manual_lasso_segmentation(camera)  
>>> io.imshow(mask)  
>>> io.show()  

skimage.future.manual_polygon_segmentation(image, alpha=0.4, return_all=False)[源代码][源代码]#

根据使用鼠标进行的多边形选择返回标签图像。

参数:
图像(M, N[, 3]) 数组

灰度或RGB图像。

alphafloat, 可选

图像上绘制的多边形的透明度值。

return_allbool, 可选

如果为 True,则返回一个包含每个单独绘制的多边形的数组。(多边形可能重叠。)如果为 False(默认),则后绘制的多边形在重叠处“覆盖”先前的多边形。

返回:
标签int 数组,形状为 ([Q, ]M, N)

分割的区域。如果模式是 ‘separate’,数组的领先维度对应于用户绘制的区域数量。

注释

使用左键点击来选择多边形的顶点,并在所有顶点选择完成后使用右键点击以确认选择。

示例

>>> from skimage import data, future, io
>>> camera = data.camera()
>>> mask = future.manual_polygon_segmentation(camera)  
>>> io.imshow(mask)  
>>> io.show()  

skimage.future.predict_segmenter(features, clf)[源代码][源代码]#

使用预训练分类器进行图像分割。

参数:
功能ndarray

特征数组,最后一个维度对应于特征的数量,其他维度与要分割的图像形状兼容,或是一个展平的图像。

clf分类器对象

训练好的分类器对象,暴露了 predict 方法,例如 scikit-learn 的 API 中的 RandomForestClassifierLogisticRegression 分类器实例。分类器必须已经训练好,例如使用 skimage.future.fit_segmenter() 进行训练。

返回:
输出ndarray

标记数组,由分类器的预测结果构建。

使用局部特征和随机森林的可训练分割

Trainable segmentation using local features and random forests
class skimage.future.TrainableSegmenter(clf=None, features_func=None)[源代码][源代码]#

基类:object

用于分类像素的估计器。

参数:
clf分类器对象,可选

分类器对象,暴露了 fitpredict 方法,如 scikit-learn 的 API 中的 RandomForestClassifierLogisticRegression 分类器实例。

features_func函数, 可选

对图像所有像素进行特征计算的函数,以传递给分类器。输出应为形状 (m_features, *labels.shape)。如果为 None,则使用 skimage.feature.multiscale_basic_features()

方法

fit(image, labels)

使用部分标注(注释)的图像训练分类器。

predict(image)

使用训练好的内部分类器分割新图像。

compute_features

__init__(clf=None, features_func=None)[源代码][源代码]#
compute_features(image)[源代码][源代码]#
fit(image, labels)[源代码][源代码]#

使用部分标注(注释)的图像训练分类器。

参数:
图像ndarray

输入图像,可以是灰度图像或多通道图像,并且必须具有与 self.features_func 兼容的维度数。

标签int 的 ndarray

image 形状兼容的标记数组(单通道图像的形状相同)。标签 >= 1 对应于训练集,标签 0 对应于待分割的未标记像素。

predict(image)[源代码][源代码]#

使用训练好的内部分类器分割新图像。

参数:
图像ndarray

输入图像,可以是灰度图像或多通道图像,并且必须具有与 self.features_func 兼容的维度数。

Raises:
如果 self.clf 尚未拟合(使用 self.fit),则抛出 NotFittedError。