当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cucim.skimage.filters.threshold_local用法及代码示例


用法:

cucim.skimage.filters.threshold_local(image, block_size, method='gaussian', offset=0, mode='reflect', param=None, cval=0)

基于局部像素邻域计算阈值掩码图像。

也称为自适应或动态阈值。阈值是像素局部邻域的加权平均值减去常数。或者,阈值可以由给定函数使用‘generic’ 方法动态确定。

参数

image(N, M) ndarray

输入图像。

block_sizeint

用于计算阈值的像素邻域的奇数大小(例如 3、5、7、...、21、...)。

method{‘generic’, ‘gaussian’, ‘mean’, ‘median’},可选

用于确定加权平均图像中局部邻域的自适应阈值的方法。

  • ‘generic’:使用自定义函数(见param参数)
  • ‘gaussian’:应用高斯滤波器(请参阅param 参数以了解自定义 sigma 值)
  • ‘mean’:应用算术平均滤波器
  • ‘median’:应用中值排名过滤器

默认情况下使用‘gaussian’ 方法。

offset浮点数,可选

从邻域的加权平均值中减去常数以计算局部阈值。默认偏移量为 0。

mode{‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’},可选

mode 参数确定如何处理数组边界,其中 cval 是 mode 等于 ‘constant’ 时的值。默认为‘reflect’。

param{int,函数},可选

为 ‘gaussian’ 方法指定 sigma 或为 ‘generic’ 方法指定函数对象。此函数将局部邻域的平面数组作为单个参数,并返回计算的中心像素阈值。

cval浮点数,可选

如果模式为‘constant’,则填充过去输入边的值。

返回

threshold(N, M) ndarray

阈值图像。输入图像中高于阈值图像中相应像素的所有像素都被视为前景。

参考

1

https://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html?highlight=threshold#adaptivethreshold

例子

>>> from skimage.data import camera
>>> image = camera()[:50, :50]
>>> binary_image1 = image > threshold_local(image, 15, 'mean')
>>> func = lambda arr: arr.mean()
>>> binary_image2 = image > threshold_local(image, 15, 'generic',
...                                         param=func)

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cucim.skimage.filters.threshold_local。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。