morphology op• データ種: mask × mask → labels2d
• 呼び出し: import fullseye as fs; fs.ledger.opening_seg(region, se) (実装を直接呼ぶなら import mvmorph; mvmorph.opening_seg(region, se)、台帳から引くなら opsmv.get("opening_seg"))
• HALCON 相当: opening_seg(意味・パラメータは HALCON リファレンスが参考になる)
• GPU: なし(CPU 参照実装のみ)
くびれで繋がった物体を収縮で切り離し、元の領域の中で広げ直してラベルにする。
構造要素で収縮 → 連結成分 → 各種を region の中だけを通って(測地的に)広げる。各画素は最寄りの種の番号を受けるが、その番号の区画が region の中で種とつながらない画素(背景を跨いだ割り当て)は、つながった区画から 8 近傍で 1 画素ずつ広げ直す。種を 1 つも持たない連結成分(収縮で消えた小さな塊)は 0(隣の物体の番号をもらわない)。収縮で全部消えると全 0 のラベルを返す(理由: 切り離す種が残らない)。空の入力(region が 0 要素)は ValueError。
Args:
region: 2-D の領域。
se: 構造要素(奇数辺の bool 配列)。
Returns:
region と同じ形の整数ラベル画像(背景 0、物体 1..n)。
• machine_vision_classics ファミリ ガイド
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この 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
labels2d を入力に取れる)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. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.