Descripción
El nodo Transformación de Imagen KJ proporciona una interfaz interactiva en la vista previa para recortar, redimensionar, rellenar y rotar imágenes (y máscaras opcionales).
Conecta una entrada de imagen y la vista previa aparece automáticamente, permitiéndote dibujar regiones de recorte, ajustar la colocación del relleno y aplicar rotación directamente en la vista previa.
Recorte:
- Haz clic y arrastra para dibujar una región de recorte.
- Arrastra dentro de la región para moverla; arrastra bordes o esquinas para redimensionar.
- Haz clic derecho para eliminar una región.
- Mantén presionada la tecla Ctrl para ajustar a una cuadrícula.
- Mantén presionada la tecla Mayús mientras redimensionas para restringir la relación de aspecto.
- Mantén presionada la tecla Alt mientras redimensionas para redimensionar simétricamente alrededor del centro.
Relleno:
- Mantén presionada la tecla Mayús y arrastra el contenido dentro de la vista previa para ajustar la posición del relleno (equivalente a cambiar
pad_xypad_y).
Rotación:
- Haz clic en el botón Rotar para habilitar una cruz de rotación. Arrastra para rotar; haz clic derecho para reiniciar la rotación.
Entradas
| Nombre | Tipo | Valor por defecto | Información / Descripción |
|---|---|---|---|
image | IMAGE / MATCHTYPE | – | La imagen (o tensor compatible con máscara) a transformar. |
mask | MASK | opcional | Máscara opcional a transformar junto con la imagen. |
target_width | INT | 0 | Ancho objetivo de salida. 0 = mantener ancho original. |
target_height | INT | 0 | Altura objetivo de salida. 0 = mantener altura original. |
upscale_method | COMBO | lanczos | Método de interpolación para redimensionar: nearest-exact, bilinear, area, bicubic, lanczos. |
keep_proportion | DYNAMICCOMBO | – | Controla cómo el contenido se ajusta a las dimensiones objetivo (ej. mantener relación de aspecto, estirar, etc.). Las opciones dependen del backend; ajústalo para que coincida con tu flujo de trabajo. |
divisible_by | INT | 2 | Asegura que las dimensiones de salida sean divisibles por este valor (0 = sin restricción; máximo 512). |
extra_padding | DYNAMICCOMBO | – | Habilita relleno adicional alrededor del contenido recortado. Cuando está activo, se usan pad_x, pad_y y edge_mode. |
invert_crop | DYNAMICCOMBO | – | Cuando está habilitado, la región de recorte se invierte (el área fuera del recorte se conserva/procesa). |
bboxes | STRING | "" | Cajas delimitadoras opcionales preexistentes (ej. de un nodo de detección) para aplicar o modificar. |
pad_x | FLOAT | 0.5 | Posición horizontal del contenido dentro del área de relleno (0 = izquierda, 0.5 = centro, 1 = derecha). También ajustable interactivamente arrastrando el contenido con Mayús. |
pad_y | FLOAT | 0.5 | Posición vertical del contenido dentro del área de relleno (0 = arriba, 0.5 = centro, 1 = abajo). También ajustable interactivamente arrastrando el contenido con Mayús. |
edge_mode | COMBO | clamp | Cómo rellenar las áreas de relleno: clamp (extender píxeles del borde), repeat (mosaico de la imagen), mirror (mosaico con espejo). |
width_mult | FLOAT | 1.0 | Multiplica el ancho del recorte por este factor. Rango [0.01, 16], paso 0.05. |
height_mult | FLOAT | 1.0 | Multiplica la altura del recorte por este factor. Rango [0.01, 16], paso 0.05. |
Nota: La vista previa interactiva se actualiza en tiempo real. Los cambios en pad_x, pad_y, width_mult, height_mult y la rotación se reflejan inmediatamente.
Salidas
| Salida # | Tipo | Descripción |
|---|---|---|
| 1 | IMAGE (mismo tipo que la entrada) | La imagen transformada después de recortar, redimensionar, rellenar y rotar. |
| 2 | MASK | La máscara transformada (si se proporcionó una máscara de entrada; de lo contrario, una máscara vacía). |
| 3 | BBOX | Coordenadas de la caja delimitadora de la región de recorte aplicada (el formato depende del backend, típicamente [x1, y1, x2, y2] o similar). |
| 4 | MASK | Una máscara correspondiente a la región recortada (útil para composición o procesamiento adicional). |
| 5 | INT | Ancho de la región de recorte final. |
| 6 | INT | Alto de la región de recorte final. |
Notas de uso
- El recorte interactivo es el flujo de trabajo principal previsto: la vista previa permite la selección intuitiva de regiones de recorte. La entrada
bboxesse puede usar para suministrar o sobrescribir la región mediante programación. - Comportamiento de redimensionamiento: Cuando tanto
target_widthcomotarget_heightson 0, la salida conserva el tamaño recortado/rellenado sin ampliación adicional. Para redimensionar a una resolución específica, establece uno o ambos objetivos y elige unupscale_method. La opciónkeep_proportiondetermina si la imagen se estira, recorta para ajustarse o se rellena para llenar el destino. - El relleno solo se aplica cuando
extra_paddingestá activo. Usapad_x/pad_ypara posicionar el contenido yedge_modepara controlar cómo se llena el área de relleno. - La rotación se aplica después del recorte y antes del redimensionamiento/relleno. La cruz de rotación en la vista previa proporciona un control preciso; la rotación se almacena internamente y se puede ajustar por sesión.
- El parámetro
divisible_byes útil para alinear las dimensiones a tamaños compatibles con el modelo (ej. múltiplos de 8, 16, 32). Si se establece en 0, se desactiva la restricción. - Ajuste de coordenadas: Mantén presionada la tecla Ctrl mientras dibujas o mueves un rectángulo de recorte para ajustar su posición y tamaño a una cuadrícula (el espaciado de la cuadrícula está determinado por el paso interno del nodo). Esto ayuda a alinear los recortes a un mosaico regular.
Todos los parámetros que afectan la salida final están expuestos como entradas, por lo que el nodo se puede usar tanto de forma interactiva como en pipelines automatizados completos conectando valores apropiados (ej. de otros nodos que generen cajas delimitadoras o dimensiones).
Comentarios
Inicia sesión con GitHub para unirte a la conversación.