mcpField
S
source-part-segmentation

source-part-segmentation

github.com/roble3クリエイティブ・メディア128778 回インストール2 週間前に更新
リポジトリ

source-part-segmentation について

メッシュ生成前に、元画像内のデザイン部品を分割するスキルです。輪郭解析、接触部品の分水嶺分割、名前付きシードを組み合わせ、曖昧な重なりを後続の形状処理用に保持します。

主な機能

  1. 01輪郭階層の解析
  2. 02接触部品の分水嶺分割
  3. 03名前付きシードによるマスク生成
  4. 04部品の分類と一覧化
  5. 05マスクとレポートの生成スクリプト

活用シーン

  1. 01メッシュ生成に向けた重複部品の準備
  2. 02手動シードマニフェストによる部品分離
  3. 03複数画像間の部品数差異の報告

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/roble3/cc-blender-skill --skill source-part-segmentation

インストール後、Claude Code で/source-part-segmentationを入力して読み込まれたか確認します。

同梱ファイルscripts/seeded_part_masks.pyscripts/segment_source_parts.py

詳細

ソースパーツの分割

ソース画像に重なり合う、または接触するデザインパーツが含まれている場合は、contour-to-mesh の前にこれを使用します。 出力は「見栄えのよいマスク」ではなく、後続のジオメトリが従う信頼できるパーツ一覧です。

入力

  • ソース画像、ワイヤーフレーム、デカール、またはテクスチャアトラス;
  • 任意の手動シードマニフェスト。名前付きパーツ、ポリゴン、シードポイント、概略矩形、または HSV/色範囲を指定できます;
  • 構造/装飾/コンテキストの分類と、想定パーツ数を含むソースマニフェスト。

ワークフロー

  1. 最も鮮明なモダリティを選択します:アルファ、エッジ、暗線、暗い背景上の明部、カラーバンド、またはアトラス領域。
  2. 輪郭と階層を抽出し、候補オブジェクト、穴、入れ子になった細部、ストロークを特定します。
  3. コンポーネントが接触している場合は、まず距離変換マーカー・ウォーターシェッドを実行します。
  4. ウォーターシェッドで過剰分割または分割不足が起きた場合は、シード付きセグメンテーションに切り替えます:
    • 名前付きパーツシード(bbox、polygon、または任意のフラッド/HSV 許容範囲を伴う seed_point)を作成します;
    • 名前付き構造パーツごとにマスクを1つ保存します;
    • 曖昧な重なりは統合せず、明示的に記録します。
  5. マスクを structural、decorative、face_feature、aura_context、または validation_only に分類します。
  6. 構造マスクを contour-to-mesh に渡し、特徴マスク/ランドマークを landmark-fit-repair に渡し、アトラス領域を atlas-uv-fitting に渡します。

厳守事項

  • 対称性から反復パーツを推測しないでください。ソースに示されているものを分割します。
  • マニフェストが個別の構造メッシュを想定している場合、重なり合うコンポーネントを統合しないでください。
  • ソース画像間でパーツ数が異なる場合、競合レポートまたは正規ポリシーを作成するまで最終モデリングに進まないでください。
  • 自動セグメンテーションに曖昧さがある場合は、曖昧さレポートを作成し、手動シード矩形/ポイントを必須にするか作成してください。
  • ストローク/線マスクは塗りつぶしパーツマスクと分けてください。ワイヤーフレームのストロークは、輪郭境界として明示的に使用する場合を除き、ガイドです。

シードマニフェストのスキーマ

{
  "schema": "source_part_seed_manifest.v1",
  "image": "path/to/source.png",
  "parts": [
    {"name":"leaf_top", "class":"structural", "bbox":[x,y,w,h], "mode":"non_background"},
    {"name":"face_shell", "class":"structural", "polygon":[[x,y],[x,y],...], "mode":"polygon"}
  ]
}

使用できる mode の値:polygon、bbox、non_background、dark_lines、bright_on_dark、hsv_range。

スクリプト

  • scripts/segment_source_parts.py は、画像からコンポーネントマスクと JSON レポートを生成します。ウォーターシェッドは任意で使用できます。
  • scripts/seeded_part_masks.py は、名前付きシードマニフェストを、決定論的な名前付きマスクとパーツ一覧に変換します。

要約した情報源

  • OpenCV の輪郭/階層/モーメントが、基本的な測定レイヤーです。
  • OpenCV の距離変換とマーカー・ウォーターシェッドが、接触するコンポーネントを分割する最初の自動手法です。
  • セグメンテーション後に、アクティブコンターによる調整で概略マスクの境界を改善できます。

コメント