當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python cucim.skimage.filters.threshold_sauvola用法及代碼示例

用法:

cucim.skimage.filters.threshold_sauvola(image, window_size=15, k=0.2, r=None)

將 Sauvola 本地閾值應用於數組。 Sauvola 是對 Niblack 技術的改進。

在原始方法中,使用以下公式為圖像中的每個像素計算閾值 T:

T = m(x,y) * (1 + k * ((s(x,y) / R) - 1))

其中 m(x,y) 和 s(x,y) 是像素 (x,y) 鄰域的均值和標準差,該鄰域由以像素為中心的大小為 w 乘以 w 的矩形窗口定義。 k 是一個可配置的參數,它對標準偏差的影響進行加權。 R 是灰度圖像的最大標準偏差。

參數

imagendarray

輸入圖像。

window_sizeint,或 int 的可迭代,可選

窗口大小指定為單個奇整數 (3, 5, 7, ...),或長度為 image.ndim 的僅包含奇整數的迭代(例如 (1, 5, 5) )。

k浮點數,可選

正參數 k 的值。

r浮點數,可選

R值,標準差的動態範圍。如果沒有,設置為圖像 dtype 範圍的一半。

返回

threshold(N, M) ndarray

閾值掩碼。強度高於此值的所有像素都被假定為前景。

注意

該算法最初是為文本識別而設計的。

參考

1

J. Sauvola and M. Pietikainen, “Adaptive document image binarization,” Pattern Recognition 33(2), pp. 225-236, 2000. DOI:10.1016/S0031-3203(99)00055-2

例子

>>> from skimage import data
>>> image = data.page()
>>> t_sauvola = threshold_sauvola(image, window_size=15, k=0.2)
>>> binary_image = image > t_sauvola

相關用法


注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cucim.skimage.filters.threshold_sauvola。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。