sk_niblack — 2D segmentation op

Data kinds: imageregion

Call: fullseye.apply(img, "sk_niblack", a=0.5, b=0.5) (the 2-D model is one image plus two scalar knobs a,b∈[0,1])

HALCON equivalent: var_threshold (the HALCON reference is a useful guide to its meaning and parameters)

Usage

Niblack's local adaptive thresholding. Like Sauvola, it determines the threshold from the local mean and standard deviation, but with a simpler (classic) way of setting the coefficients, and tends to judge the foreground more broadly than Sauvola (i.e. more prone to picking up noise).

> The detailed description below is the original text — the summary and the headings are translated.

HALCON の var_threshold に相当(近似)。実装は `v > filters.threshold_niblack(v, window_size=2*int(a*6)+3)` —— a は局所窓サイズを 3〜15(奇数)に振る。b は未使用。sk_sauvola と同じ入力・同じ a の振り方で並べ、結果を見比べる用途を想定。

Detailed usage guide

gallery2d_segmentation family guide

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

gallery2d_segmentationpy -3.11 examples/gallery2d_segmentation.py

Ops the type connects to (they accept region as input)

identity · reg_erode · reg_dilate · reg_open · reg_close · fill_holes · select_largest · remove_small

Same category (segmentation)

threshold · otsu · canny · adaptive_gauss_thresh · sk_otsu · sk_li · sk_yen · sk_sauvola


*Provenance: ops.py — 2D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.