opening_seg — MV morphology op

• Data kinds: mask × mask → labels2d

• Call: import fullseye as fs; fs.ledger.opening_seg(region, se) (to call the implementation directly, import mvmorph; mvmorph.opening_seg(region, se); from the registry, opsmv.get("opening_seg"))

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

• GPU: none (CPU reference implementation only)

Usage

Separate objects joined by necks with an erosion and grow them back inside the region as labels.

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

構造要素で収縮 → 連結成分 → 各種を region の中だけを通って(測地的に)広げる。各画素は最寄りの種の番号を受けるが、その番号の区画が region の中で種とつながらない画素(背景を跨いだ割り当て)は、つながった区画から 8 近傍で 1 画素ずつ広げ直す。種を 1 つも持たない連結成分(収縮で消えた小さな塊)は 0(隣の物体の番号をもらわない)。収縮で全部消えると全 0 のラベルを返す(理由: 切り離す種が残らない)。空の入力(region が 0 要素)は ValueError。

Args:

region: 2-D の領域。

se: 構造要素(奇数辺の bool 配列)。

Returns:

region と同じ形の整数ラベル画像(背景 0、物体 1..n)。

Detailed usage guide

• machine_vision_classics 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)

• machine_vision_tour — py -3.11 examples/machine_vision_tour.py

• poc_real_bg_kalman_tracking — py -3.11 examples/poc_real_bg_kalman_tracking.py

• poc_real_grain_skiz — py -3.11 examples/poc_real_grain_skiz.py

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

select_characters

Same category (morphology)

golay_elements · hit_or_miss_golay · hit_or_miss_seq · thickening_hit_miss · thickening_golay · thickening_seq · morph_hat · morph_skiz


*Provenance: mvmorph.py — MV 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.