コンテンツにスキップ

マスクのペイント (PaintMask)

概要 (What is it?)

PaintMask ノードは、入力画像から編集可能なマスクを生成し、そのマスク上に対話的にブラシ描画(ペイント)して透明度を編集できます。元画像のアルファチャンネルから初期マスクを自動生成し、ブラウザ上で直感的にマスクを描き足したり消したりできるペイントインターフェースを提供します。また、ペイントしたマスクを入力画像に即座に適用し、透過結果をプレビューできます。

使用する場面 (When would I use it?)

以下のような場面でこのノードを使用します:

  • 画像編集や合成用のカスタムマスクを作成したい場合
  • AI が自動生成したセグメンテーションマスクを手動でレタッチ・修正したい場合
  • 画像に手作業で透明度効果を描き込みたい場合
  • 特定の領域だけを選択的に切り抜きたい場合
  • 精密な合成のためにマスクの境界線を微調整したい場合

使い方 (How to use it)

基本セットアップ

  1. ワークフローに PaintMask ノードを追加します
  2. 画像ソースを "input_image" 入力に接続します
  3. ノードが画像のアルファチャンネルから初期マスクを自動生成します
  4. "output_mask" パラメータのペイントインターフェースを使用してマスクを直接編集します
  5. マスクが適用された最終画像が "output_image" パラメータから出力されます

パラメータ一覧 (Parameters)

  • input_image: マスクを作成する元となる画像(他の画像ノードから接続可能)

出力 (Outputs)

  • output_mask: 透明度を変更するために描画できる編集可能なマスク画像
  • output_image: ペイントされたマスクが適用された最終画像(マスクに基づいた透明度を持つ画像)

使用例 (Example)

一般的なワークフローパターンの例:

  1. GenerateImage または LoadImage などのノードで画像を生成または読み込みます
  2. その画像を PaintMask ノードの "input_image" パラメータに接続します
  3. ノードが画像のアルファチャンネルから初期マスクを作成します
  4. "output_mask" パラメータ内のペイントツールを使用してマスクの境界をレタッチします
  5. "output_image" に、描画したマスクが適用された結果が即座に反映されます
  6. "output_image" を DisplayImage に接続して最終結果を確認します

重要な注意点 (Important Notes)

  • 初期マスクの自動生成: 入力画像のアルファチャンネルから初期マスクが自動的に生成されます
  • 対話型ペイント: 組み込みのペイントインターフェースを使ってマスク上に直接描画できます
  • 編集内容の保持: 入力画像のパラメータを変更しても、ソース画像の URL 自体が変わらない限り手動ペイントした編集内容は保持されます
  • 赤チャンネルの利用: ペイントされた画像の「赤(red)」チャンネルが、最終結果のアルファチャンネル(透明度)として使用されます
  • リアルタイム更新: マスクを描画すると即座に出力画像へと反映されます

よくある問題 (Common Issues)

  • 出力されない: "input_image" パラメータに画像ソースが正しく接続されているか確認してください
  • 意図しない透過: マスクの白い部分は不透明になり、黒い部分は透明になります

技術的な詳細 (Technical Details)

このノードは以下の処理パイプラインで動作します:

  • 初期マスク作成: 入力画像からアルファチャンネルを抽出し、グレースケールマスクに変換
  • マスク編集 UI: キャンバス上で直接ペイント操作を行うための対話型 UI を提供
  • マスクの適用: ペイントされたマスクの赤チャンネルを入力画像のアルファチャンネルとして結合
  • 永続性の追跡: 手動編集が行われたかどうかを追跡し、自動再生成とユーザー編集内容の保護をインテリジェントに切り替えます