Description
Le nœud Transformation d'image KJ fournit une interface interactive dans l'aperçu pour recadrer, redimensionner, rembourrer et pivoter des images (et des masques optionnels).
Connectez une entrée d'image et l'aperçu apparaît automatiquement, vous permettant de dessiner des zones de recadrage, d'ajuster le placement du rembourrage et d'appliquer une rotation directement dans l'aperçu.
Recadrage :
- Cliquez + faites glisser pour dessiner une zone de recadrage.
- Faites glisser à l'intérieur de la zone pour la déplacer ; faites glisser les bords ou les coins pour redimensionner.
- Cliquez droit pour supprimer une zone.
- Maintenez Ctrl pour aligner sur une grille.
- Maintenez Maj pendant le redimensionnement pour contraindre le rapport hauteur/largeur.
- Maintenez Alt pendant le redimensionnement pour redimensionner symétriquement autour du centre.
Rembourrage :
- Maintenez Maj et faites glisser le contenu à l'intérieur de l'aperçu pour ajuster la position du rembourrage (équivalent à modifier
pad_xetpad_y).
Rotation :
- Cliquez sur le bouton Pivoter pour activer une croix de rotation. Faites glisser pour pivoter ; cliquez droit pour réinitialiser la rotation.
Entrées
| Nom | Type | Défaut | Info-bulle / Description |
|---|---|---|---|
image | IMAGE / MATCHTYPE | – | L'image (ou tenseur compatible masque) à transformer. |
mask | MASK | optionnel | Masque optionnel à transformer avec l'image. |
target_width | INT | 0 | Largeur cible de la sortie. 0 = conserver la largeur d'origine. |
target_height | INT | 0 | Hauteur cible de la sortie. 0 = conserver la hauteur d'origine. |
upscale_method | COMBO | lanczos | Méthode d'interpolation pour le redimensionnement : nearest-exact, bilinear, area, bicubic, lanczos. |
keep_proportion | DYNAMICCOMBO | – | Contrôle comment le contenu s'adapte aux dimensions cibles (par ex. conserver le rapport hauteur/largeur, étirer, etc.). Les options dépendent du backend – ajustez selon votre flux de travail. |
divisible_by | INT | 2 | Garantit que les dimensions de sortie sont divisibles par cette valeur (0 = aucune contrainte ; max 512). |
extra_padding | DYNAMICCOMBO | – | Active un rembourrage supplémentaire autour du contenu recadré. Lorsqu'il est actif, pad_x, pad_y et edge_mode sont utilisés. |
invert_crop | DYNAMICCOMBO | – | Lorsqu'il est activé, la zone de recadrage est inversée (la zone à l'extérieur du recadrage est conservée/traitée). |
bboxes | STRING | "" | Boîtes englobantes préexistantes optionnelles (par ex. depuis un nœud de détection) à appliquer ou modifier. |
pad_x | FLOAT | 0.5 | Position horizontale du contenu dans la zone rembourrée (0 = gauche, 0.5 = centre, 1 = droite). Également ajustable de manière interactive en faisant glisser le contenu avec Maj. |
pad_y | FLOAT | 0.5 | Position verticale du contenu dans la zone rembourrée (0 = haut, 0.5 = centre, 1 = bas). Également ajustable de manière interactive en faisant glisser le contenu avec Maj. |
edge_mode | COMBO | clamp | Comment remplir les zones de rembourrage : clamp (étendre les pixels de bord), repeat (mosaïque de l'image), mirror (mosaïque avec effet miroir). |
width_mult | FLOAT | 1.0 | Multiplie la largeur de recadrage par ce facteur. Plage [0.01, 16], pas 0.05. |
height_mult | FLOAT | 1.0 | Multiplie la hauteur de recadrage par ce facteur. Plage [0.01, 16], pas 0.05. |
Remarque : L'aperçu interactif se met à jour en temps réel. Les modifications apportées à pad_x, pad_y, width_mult, height_mult et à la rotation sont reflétées immédiatement.
Sorties
| Sortie n° | Type | Description |
|---|---|---|
| 1 | IMAGE (même type que l'entrée) | L'image transformée après recadrage, redimensionnement, rembourrage et rotation. |
| 2 | MASK | Le masque transformé (si une entrée masque a été fournie ; sinon un masque vide). |
| 3 | BBOX | Coordonnées de la boîte englobante de la zone de recadrage appliquée (le format dépend du backend, généralement [x1, y1, x2, y2] ou similaire). |
| 4 | MASK | Un masque correspondant à la zone recadrée (utile pour la composition ou un traitement ultérieur). |
| 5 | INT | Largeur de la zone de recadrage finale. |
| 6 | INT | Hauteur de la zone de recadrage finale. |
Notes d'utilisation
- Le recadrage interactif est le flux de travail principal prévu : l'aperçu permet une sélection intuitive des zones de recadrage. L'entrée
bboxespeut être utilisée pour fournir ou remplacer la zone par programme. - Comportement de redimensionnement : Lorsque
target_widthettarget_heightsont tous deux à 0, la sortie conserve la taille recadrée/rembourrée sans mise à l'échelle supplémentaire. Pour redimensionner à une résolution spécifique, définissez une ou les deux cibles et choisissez uneupscale_method. L'optionkeep_proportiondétermine si l'image est étirée, recadrée pour s'ajuster ou rembourrée pour remplir la cible. - Le rembourrage n'est appliqué que lorsque
extra_paddingest actif. Utilisezpad_x/pad_ypour positionner le contenu etedge_modepour contrôler la façon dont la zone de rembourrage est remplie. - La rotation est appliquée après le recadrage et avant le redimensionnement/rembourrage. La croix de rotation dans l'aperçu offre un contrôle précis ; la rotation est stockée en interne et peut être ajustée par session.
- Le paramètre
divisible_byest utile pour aligner les dimensions sur des tailles adaptées au modèle (par ex. multiples de 8, 16, 32). Le définir à 0 désactive la contrainte. - Alignement des coordonnées : Maintenez Ctrl pendant que vous dessinez ou déplacez un rectangle de recadrage pour aligner sa position et sa taille sur une grille (l'espacement de la grille est déterminé par le pas interne du nœud). Cela aide à aligner les recadrages sur un pavage régulier.
Tous les paramètres qui affectent la sortie finale sont exposés en tant qu'entrées, de sorte que le nœud peut être utilisé à la fois de manière interactive et dans des pipelines automatisés en connectant des valeurs appropriées (par ex. provenant d'autres nœuds qui produisent des boîtes englobantes ou des dimensions).
Commentaires
Connectez-vous avec GitHub pour rejoindre la discussion.