描述
Image Transform 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 登录后即可参与讨论。