説明
画像変換 KJ ノードは、プレビュー内で対話的にクロップ、リサイズ、パディング、回転(およびオプションのマスク)を行うためのインターフェースを提供します。
画像入力を接続すると自動的にプレビューが表示され、プレビュー上で直接クロップ領域の描画、パディング位置の調整、回転の適用が可能です。
クロップ
- クリック&ドラッグでクロップ領域を描画します。
- 領域内をドラッグして移動、端または角をドラッグしてリサイズします。
- 右クリックで領域を削除します。
- Ctrl キーを押しながら操作するとグリッドにスナップします。
- リサイズ中に Shift キーを押しながら操作するとアスペクト比が固定されます。
- リサイズ中に Alt キーを押しながら操作すると、中心対称にリサイズされます。
パディング
- Shift キーを押しながらプレビュー内のコンテンツをドラッグすると、パディング位置(
pad_x、pad_yに相当)を調整できます。
回転
- 回転 ボタンをクリックすると回転クロスが有効になります。ドラッグで回転、右クリックで回転をリセットします。
入力
| 名前 | タイプ | デフォルト | ツールチップ / 説明 |
|---|---|---|---|
image | IMAGE / MATCHTYPE | – | 変換する画像(またはマスク互換のテンソル)。 |
mask | MASK | オプション | 画像と一緒に変換するオプションのマスク。 |
target_width | INT | 0 | 出力のターゲット幅。0 = オリジナル幅を維持。 |
target_height | INT | 0 | 出力のターゲット高さ。0 = オリジナル高さを維持。 |
upscale_method | COMBO | lanczos | リサイズ時の補間方法:nearest-exact、bilinear、area、bicubic、lanczos。 |
keep_proportion | DYNAMICCOMBO | – | コンテンツをターゲット寸法に合わせる方法を制御します(例:アスペクト比維持、引き伸ばしなど)。オプションはバックエンドに依存します。ワークフローに合わせて調整してください。 |
divisible_by | INT | 2 | 出力寸法がこの値で割り切れるようにします(0 = 制約なし、最大512)。 |
extra_padding | DYNAMICCOMBO | – | クロップされたコンテンツの周囲に追加のパディングを有効にします。有効にすると、pad_x、pad_y、edge_mode が使用されます。 |
invert_crop | DYNAMICCOMBO | – | 有効にすると、クロップ領域が反転されます(クロップの 外側 が保持/処理されます)。 |
bboxes | STRING | "" | 検出ノードなどから出力された、事前に存在するバウンディングボックス(適用または変更用)。 |
pad_x | FLOAT | 0.5 | パディング領域内でのコンテンツの水平位置(0 = 左、0.5 = 中央、1 = 右)。Shift+ドラッグでも調整可能。 |
pad_y | FLOAT | 0.5 | パディング領域内でのコンテンツの垂直位置(0 = 上、0.5 = 中央、1 = 下)。Shift+ドラッグでも調整可能。 |
edge_mode | COMBO | clamp | パディング領域の塗りつぶし方法:clamp(エッジピクセルを延長)、repeat(画像をタイル状に配置)、mirror(ミラーリングでタイル状に配置)。 |
width_mult | FLOAT | 1.0 | クロップ幅にこの係数を乗算します。範囲 [0.01, 16]、ステップ 0.05。 |
height_mult | FLOAT | 1.0 | クロップ高さにこの係数を乗算します。範囲 [0.01, 16]、ステップ 0.05。 |
注意:対話型プレビューはリアルタイムで更新されます。pad_x、pad_y、width_mult、height_mult、回転の変更は即座に反映されます。
出力
| 出力番号 | タイプ | 説明 |
|---|---|---|
| 1 | IMAGE(入力と同じタイプ) | クロップ、リサイズ、パディング、回転後の変換済み画像。 |
| 2 | MASK | 変換後のマスク(マスク入力が提供された場合。それ以外の場合は空のマスク)。 |
| 3 | BBOX | 適用されたクロップ領域のバウンディングボックス座標(形式はバックエンドに依存しますが、通常 [x1, y1, x2, y2] など)。 |
| 4 | MASK | クロップされた領域に対応するマスク(合成やさらなる処理に有用)。 |
| 5 | INT | 最終的なクロップ領域の幅。 |
| 6 | INT | 最終的なクロップ領域の高さ。 |
使用上の注意
- 対話型クロッピング が主要なワークフローです。プレビューを使って直感的にクロップ領域を選択できます。
bboxes入力を使用すると、プログラム的に領域を指定または上書きできます。 - リサイズ動作:
target_widthとtarget_heightが両方とも 0 の場合、出力はクロップ/パディング後のサイズを維持し、追加のアップスケーリングは行われません。特定の解像度にリサイズするには、片方または両方のターゲットを設定し、upscale_methodを選択します。keep_proportionオプションは、画像を引き伸ばすか、ターゲットに合わせてクロップするか、パディングで埋めるかを決定します。 - パディング は、
extra_paddingが有効な場合のみ適用されます。pad_x/pad_yでコンテンツの位置を指定し、edge_modeでパディング領域の塗りつぶし方法を制御します。 - 回転 はクロップ後、リサイズ/パディング前に適用されます。プレビューの回転クロスで細かく調整できます。回転は内部的に保存され、セッションごとに調整可能です。
divisible_byパラメータは、寸法をモデルに適したサイズ(例:8、16、32の倍数)に揃えるのに便利です。0 に設定すると制約が無効になります。- 座標スナップ:Ctrl キーを押しながらクロップ矩形を描画または移動すると、位置とサイズがグリッドにスナップします(グリッド間隔はノード内部のステップに依存)。これにより、クロップを規則的なタイルに揃えることができます。
最終出力に影響を与えるすべてのパラメータは入力として公開されているため、このノードは対話的使用と、適切な値(たとえば、バウンディングボックスや寸法を出力する他のノードからの値)を接続する完全自動パイプラインの両方で使用できます。
コメント
GitHubでサインインしてディスカッションに参加しましょう。