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)[source]#

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

参数:
labels整数型数组

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

features数组

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

clf分类器对象

分类器对象,公开一个 fit 方法和一个 predict 方法,如 scikit-learn 的 API 中所示,例如 RandomForestClassifierLogisticRegression 分类器的实例。

返回值:
clf分类器对象

labels 上训练的分类器

引发:
如果 self.clf 尚未拟合,则引发 NotFittedError(使用 self.fit)。

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

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

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

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

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

灰度或 RGB 图像。

alpha浮点数,可选

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

return_all布尔值,可选

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

返回值:
labels整数型数组,形状 ([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)[source]#

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

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

灰度或 RGB 图像。

alpha浮点数,可选

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

return_all布尔值,可选

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

返回值:
labels整数型数组,形状 ([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)[source]#

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

参数:
features数组

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

clf分类器对象

训练好的分类器对象,公开一个 predict 方法,如 scikit-learn 的 API 中所示,例如 RandomForestClassifierLogisticRegression 分类器的实例。分类器必须已经过训练,例如使用 skimage.future.fit_segmenter()

返回值:
output数组

根据分类器的预测构建的标记数组。

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

使用局部特征和随机森林进行可训练分割
class skimage.future.TrainableSegmenter(clf=None, features_func=None)[source]#

基类:object

用于对像素进行分类的估计器。

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

分类器对象,公开一个 fit 方法和一个 predict 方法,如 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)[source]#
compute_features(image)[source]#
fit(image, labels)[source]#

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

参数:
image数组

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

labels整数型数组

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

predict(image)[source]#

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

参数:
image数组

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

引发:
如果 self.clf 尚未拟合,则引发 NotFittedError(使用 self.fit)。