KJNodes/maskinggenerated

Separate Masks(SeparateMasks)

Ce nœud est implémenté à l'aide de bibliothèques de vision par ordinateur (comme OpenCV) et identifie les régions connectées indépendantes en détectant les contours dans le masque d'entrée.

Separate Masks

mask
mask
size_threshold_width
256
size_threshold_height
256
mode
COMBO
max_poly_points
8
KJNodes

Le nœud Separate Masks, basé sur des bibliothèques de vision par ordinateur (comme OpenCV), identifie les régions connectées distinctes en détectant les contours dans le masque d'entrée.

Le nœud Separate Masks est un outil de traitement de masques (Mask) dont la fonction principale est de séparer un masque d'entrée contenant plusieurs régions discontinues en plusieurs masques indépendants, selon des conditions définies. En identifiant les régions connectées dans le masque et en les filtrant et segmentant en fonction de leur taille ou de leur forme, il simplifie la gestion et les opérations ultérieures sur des zones de masque complexes.

Fonctionnalités du nœud

Ce nœud, basé sur des bibliothèques de vision par ordinateur (comme OpenCV), identifie les régions connectées indépendantes en détectant les contours dans le masque d'entrée. Il propose trois modes de séparation (convex_polygons, area, box), chacun utilisant un algorithme différent pour traiter et produire les masques. La sortie après traitement par le nœud est un lot contenant plusieurs masques indépendants, facilitant leur utilisation séparée dans le flux de travail.

Description des paramètres du nœud - Separate Masks

Entrées

Nom du paramètreType de donnéesRequisValeur par défautPlage/Valeurs possiblesDescription
maskMASKOui--Masque d'entrée à séparer.

Paramètres

Nom du paramètreType de donnéesRequisValeur par défautPlage/Valeurs possiblesDescription
modeCOMBOOuiconvex_polygons"convex_polygons", "area", "box"Mode de séparation. Options : convex_polygons (approximation des contours par polygones convexes), area (filtrage basé sur la taille de la zone), box (filtrage basé sur la taille de la boîte englobante).
size_threshold_widthINTOui2560.0 - 4096 (pas : 1)Définit le seuil de largeur pour filtrer les régions. Plage de 0 à 4096, taille de pas 1.
size_threshold_heightINTOui2560.0 - 4096 (pas : 1)Définit le seuil de hauteur pour filtrer les régions. Plage de 0 à 4096, taille de pas 1.
max_poly_pointsINTOui83 - 32 (pas : 1)Contrôle le nombre maximum de sommets de polygone utilisés pour approximer les contours en mode convex_polygons. Plage de 3 à 32, taille de pas 1.

Sortie

Nom du paramètreType de donnéesDescription
maskMASKSort les multiples masques indépendants obtenus après séparation.

Cas d'utilisation

Ce nœud est très utile dans les flux de travail impliquant l'édition d'images ou la génération spécifique à une région. Par exemple, si vous disposez d'un masque de segmentation sémantique contenant plusieurs objets dispersés, vous pouvez utiliser ce nœud pour séparer chaque objet en un masque indépendant. Ensuite, vous pouvez appliquer différents nœuds de traitement d'image (comme la révision, la coloration ou le transfert de style) à chaque objet individuellement, permettant un contrôle précis.

Notes

Veuillez noter que l'efficacité de la séparation du nœud dépend de la qualité et de la connectivité du masque d'entrée. La séparation peut ne pas être précise pour les régions aux bords flous ou fortement adhérentes. De plus, le paramètre max_poly_points affecte la précision du mode d'approximation polygonale et doit être ajusté en fonction du niveau de détail requis.

Lien vers le code source du nœud Separate Masks

Le nœud Separate Masks provient du pack de nœuds ComfyUI-KJNodes.

Commentaires

Connectez-vous avec GitHub pour rejoindre la discussion.

Chargement des commentaires…