KJNodes/imagegenerated

Image Transform KJ 节点:图像交互式变换(ImageTransformKJ)

交互式图像变换节点:裁剪、调整大小、填充和旋转。连接图像输入后,预览自动显示。裁剪:点击并拖动绘制裁剪区域。在区域内拖动可移动,拖动边缘/角点可调整大小。右键点击删除区域。按住Ctrl吸附到网格。按住Shift调整大小时保持宽高比。按住Alt调整大小时沿中心对称。填充:按住Shift拖动可调整填充位置。旋转按钮启用旋转十字(拖动旋转,右键点击重置)。设置target_width/height调整输出大小(0=保持原始)。使用keep_proportion控制图像适配目标的方式。使用extra_padding添加填充,可选择颜色或边缘填充(clamp/repeat/mirror)。

Image Transform KJ

image
mask
keep_proportion
extra_padding
invert_crop
cropped
cropped_mask
bbox
bbox_mask
width
height
target_width
0
target_height
0
upscale_method
lanczos
divisible_by
2
bboxes
STRING
pad_x
0.50
pad_y
0.50
edge_mode
clamp
pad_x
0.50
pad_y
0.50
width_mult
1.00
height_mult
1.00
edge_mode
clamp
edge_mode
clamp
KJNodes

描述

Image Transform KJ 节点提供了一个交互式预览界面,用于对图像(以及可选的蒙版)进行裁剪、调整大小、填充和旋转。
连接图像输入后,预览会自动显示,您可以直接在预览中绘制裁剪区域、调整填充位置以及应用旋转。

裁剪:

  • 点击并拖动以绘制裁剪区域。
  • 在区域内拖动以移动它;拖动边缘或角点以调整大小。
  • 右键点击删除区域。
  • 按住 Ctrl 以吸附到网格。
  • 按住 Shift 调整大小时保持宽高比。
  • 按住 Alt 调整大小时沿中心对称。

填充:

  • 按住 Shift 并在预览中拖动内容以调整填充位置(相当于更改 pad_xpad_y)。

旋转:

  • 点击 旋转 按钮以启用旋转十字。拖动以旋转;右键点击重置旋转。

输入

名称类型默认值提示/描述
imageIMAGE / MATCHTYPE要变换的图像(或蒙版兼容的张量)。
maskMASK可选与图像一同变换的可选蒙版。
target_widthINT0目标输出宽度。0 = 保持原始宽度。
target_heightINT0目标输出高度。0 = 保持原始高度。
upscale_methodCOMBOlanczos调整大小时的插值方法:nearest-exactbilinearareabicubiclanczos
keep_proportionDYNAMICCOMBO控制内容如何适配目标尺寸(例如保持宽高比、拉伸等)。选项取决于后端,请根据您的工作流调整。
divisible_byINT2确保输出尺寸可被此值整除(0 = 无限制;最大512)。
extra_paddingDYNAMICCOMBO启用裁剪内容周围的额外填充。激活时,使用 pad_xpad_yedge_mode
invert_cropDYNAMICCOMBO启用后,裁剪区域被反转(保留/处理裁剪区域外部的区域)。
bboxesSTRING""可选预存的边界框(例如来自检测节点),可应用或修改。
pad_xFLOAT0.5内容在填充区域内的水平位置(0 = 左,0.5 = 居中,1 = 右)。也可通过按住Shift拖动内容交互调整。
pad_yFLOAT0.5内容在填充区域内的竖直位置(0 = 顶部,0.5 = 居中,1 = 底部)。也可通过按住Shift拖动内容交互调整。
edge_modeCOMBOclamp填充区域的填充方式:clamp(扩展边缘像素)、repeat(平铺图像)、mirror(镜像平铺)。
width_multFLOAT1.0将裁剪宽度乘以该因子。范围[0.01, 16],步长0.05。
height_multFLOAT1.0将裁剪高度乘以该因子。范围[0.01, 16],步长0.05。

注意:交互式预览会实时更新。对 pad_xpad_ywidth_multheight_mult 和旋转的更改会立即生效。

输出

输出 #类型描述
1IMAGE(与输入相同类型)经过裁剪、调整大小、填充和旋转后的变换图像。
2MASK变换后的蒙版(如果提供了蒙版输入;否则为空白蒙版)。
3BBOX所应用裁剪区域的边界框坐标(格式取决于后端,通常为 [x1, y1, x2, y2] 或类似形式)。
4MASK对应裁剪区域的蒙版(用于合成或进一步处理)。
5INT最终裁剪区域的宽度。
6INT最终裁剪区域的高度。

使用说明

  • 交互式裁剪 是主要工作流:预览允许直观选择裁剪区域。bboxes 输入可用于以编程方式提供或覆盖该区域。
  • 调整大小行为:当 target_widthtarget_height 均为0时,输出保持裁剪/填充后的大小,不进行额外放大。若要调整到特定分辨率,请设置一个或两个目标值并选择 upscale_methodkeep_proportion 选项决定图像是拉伸、裁剪适配还是填充适配目标。
  • 填充 仅在启用 extra_padding 时应用。使用 pad_x / pad_y 定位内容,使用 edge_mode 控制填充区域的填充方式。
  • 旋转 在裁剪之后、调整大小/填充之前应用。预览中的旋转十字提供精细控制;旋转内部存储,可在每次会话中调整。
  • divisible_by 参数有助于将尺寸对齐到模型友好的数值(例如8、16、32的倍数)。设置为0则禁用此限制。
  • 坐标吸附:绘制或移动裁剪矩形时,按住 Ctrl 可将其位置和大小吸附到网格(网格间距由节点内部步长决定)。这有助于将裁剪对齐到规则排布。

所有影响最终输出的参数都作为输入暴露,因此该节点既可用于交互式操作,也可通过连接适当的值(例如来自其他输出边界框或尺寸的节点)用于完全自动化的流程。

评论

使用 GitHub 登录后即可参与讨论。

评论加载中…
Image Transform KJ 节点:图像交互式变换 (ImageTransformKJ) - ComfyUI-KJNodes | ComfyUI Wiki