用法:
skimage.filters.threshold_multiotsu(image=None, classes=3, nbins=256, *, hist=None)
按照 Otsu 的多类方法,生成第 1 类阈值来划分图像中的灰度级。
选择阈值以最大化阈值灰度级之间的成对方差的总和。有关详细信息,请参阅注释和[1]。
必须提供图像或历史记录。如果提供 hist,则忽略图像的实际直方图。
- image:(N, M[, ..., P]) ndarray,可选
灰度输入图像。
- classes:整数,可选
要阈值的类数,即结果区域的数量。
- nbins:整数,可选
用于计算直方图的 bin 数量。对于整数数组,此值将被忽略。
- hist:数组,或数组的 2 元组,可选
从中确定阈值的直方图,以及可选的相应 bin 中心强度数组。如果未提供 hist,此函数将根据图像计算它(见注释)。
- thresh:数组
包含所需类的阈值的数组。
- ValueError
如果
image
包含的灰度值少于所需的类数。
参数:
返回:
抛出:
注意:
此实现依赖于复杂度为 的 Cython 函数,其中 是直方图 bin 的数量,而 是所需的类数量。
如果没有给出 hist,这个函数将使用skimage.exposure.histogram,其行为不同于np.histogram.虽然两者都允许,但使用前者以获得一致的行为。
输入图像必须是灰度的。
参考:
- 1
Liao, P-S., Chen, T-S. and Chung, P-C., “A fast algorithm for multilevel thresholding”, Journal of Information Science and Engineering 17 (5): 713-727, 2001. Available at: <https://ftp.iis.sinica.edu.tw/JISE/2001/200109_01.pdf> DOI:10.6688/JISE.2001.17.5.1
- 2
Tosa, Y., “Multi-Otsu Threshold”, a java plugin for ImageJ. Available at: <http://imagej.net/plugins/download/Multi_OtsuThreshold.java>
例子:
>>> from skimage.color import label2rgb >>> from skimage import data >>> image = data.camera() >>> thresholds = threshold_multiotsu(image) >>> regions = np.digitize(image, bins=thresholds) >>> regions_colorized = label2rgb(regions)
相关用法
- Python skimage.filters.threshold_minimum用法及代码示例
- Python skimage.filters.threshold_mean用法及代码示例
- Python skimage.filters.threshold_otsu用法及代码示例
- Python skimage.filters.threshold_li用法及代码示例
- Python skimage.filters.threshold_niblack用法及代码示例
- Python skimage.filters.threshold_triangle用法及代码示例
- Python skimage.filters.threshold_local用法及代码示例
- Python skimage.filters.threshold_isodata用法及代码示例
- Python skimage.filters.threshold_yen用法及代码示例
- Python skimage.filters.threshold_sauvola用法及代码示例
- Python skimage.filters.try_all_threshold用法及代码示例
- Python skimage.filters.unsharp_mask用法及代码示例
- Python skimage.filters.rank.noise_filter用法及代码示例
- Python skimage.filters.gaussian用法及代码示例
- Python skimage.filters.rank.sum用法及代码示例
- Python skimage.filters.window用法及代码示例
- Python skimage.filters.gabor用法及代码示例
- Python skimage.filters.rank.autolevel用法及代码示例
- Python skimage.filters.rank.pop用法及代码示例
- Python skimage.filters.rank.mean用法及代码示例
- Python skimage.filters.rank.pop_bilateral用法及代码示例
- Python skimage.filters.rank.maximum用法及代码示例
- Python skimage.filters.roberts用法及代码示例
- Python skimage.filters.rank.equalize用法及代码示例
- Python skimage.filters.rank.enhance_contrast用法及代码示例
注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.filters.threshold_multiotsu。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。