Separate Masks(SeparateMasks)
Este nodo se implementa basándose en bibliotecas de visión por computadora (como OpenCV), detectando los contornos en la máscara de entrada para identificar regiones conectadas independientes.
Separate Masks
El nodo Separate Masks, implementado basándose en bibliotecas de visión por computadora (como OpenCV), identifica regiones conectadas independientes detectando los contornos en la máscara de entrada.
El nodo Separate Masks es una herramienta para procesar máscaras. Su función principal es separar una máscara de entrada que contiene múltiples regiones discontinuas en varias máscaras independientes, según los criterios establecidos. Identifica las regiones conectadas en la máscara, las filtra y segmenta en base a su tamaño o forma, simplificando así la gestión y las operaciones posteriores de regiones de máscara complejas.
Funcionalidad del Nodo
Este nodo, implementado basándose en bibliotecas de visión por computadora (como OpenCV), identifica regiones conectadas independientes detectando los contornos en la máscara de entrada. Ofrece tres modos de separación (convex_polygons, area, box), cada uno empleando un algoritmo diferente para procesar y generar las máscaras de salida. La salida del nodo es un lote que contiene múltiples máscaras independientes, facilitando su uso por separado en el flujo de trabajo.
Explicación de los Parámetros del Nodo - Separate Masks
Entradas (Inputs)
| Nombre del Parámetro | Tipo de Dato | Obligatorio | Valor por Defecto | Rango de Valores/Opciones | Descripción |
|---|---|---|---|---|---|
mask | MASK | Sí | - | - | La máscara de entrada que se va a separar. |
Parámetros de Control (Parameters)
| Nombre del Parámetro | Tipo de Dato | Obligatorio | Valor por Defecto | Rango de Valores/Opciones | Descripción |
|---|---|---|---|---|---|
mode | COMBO | Sí | convex_polygons | "convex_polygons", "area", "box" | Modo de separación. convex_polygons (aproximación de polígonos convexos), area (filtrado basado en el tamaño del área), box (filtrado basado en el tamaño del cuadro delimitador). |
size_threshold_width | INT | Sí | 256 | 0.0 - 4096 (paso: 1) | Establece el umbral de tamaño para el ancho, utilizado para filtrar regiones. Rango de 0 a 4096, con paso de 1. |
size_threshold_height | INT | Sí | 256 | 0.0 - 4096 (paso: 1) | Establece el umbral de tamaño para la altura, utilizado para filtrar regiones. Rango de 0 a 4096, con paso de 1. |
max_poly_points | INT | Sí | 8 | 3 - 32 (paso: 1) | Controla, en el modo convex_polygons, el número máximo de vértices del polígono utilizado para aproximar el contorno. Rango de 3 a 32, con paso de 1. |
Salida (Output)
| Nombre del Parámetro | Tipo de Dato | Descripción |
|---|---|---|
| mask | MASK | Devuelve múltiples máscaras independientes obtenidas tras la separación. |
Casos de Uso
Este nodo es muy útil en flujos de trabajo de edición de imágenes o generación específica por regiones. Por ejemplo, cuando se tiene una máscara de segmentación semántica que contiene múltiples objetos dispersos, se puede utilizar este nodo para separar cada objeto en una máscara independiente. Luego, se pueden aplicar diferentes nodos de procesamiento de imágenes (como repintado, coloración o transferencia de estilo) a cada objeto por separado, logrando un control más detallado.
Consideraciones
Tenga en cuenta que la efectividad de la separación del nodo depende de la calidad y conectividad de la máscara de entrada. Para regiones con bordes borrosos o que estén muy adheridas entre sí, la separación puede no ser precisa. Además, el parámetro max_poly_points afecta la precisión en el modo de aproximación por polígonos y debe ajustarse según el nivel de detalle requerido.
Enlace al Código Fuente del Nodo Separate Masks
El nodo Separate Masks pertenece al paquete de nodos ComfyUI-KJNodes.
Comentarios
Inicia sesión con GitHub para unirte a la conversación.