KJNodes/imagegenerated

Image aléatoire à partir d'un lot(RandomImageFromBatch)

Sélectionne une séquence d'images d'un lot d'images ou de masques dans une plage d'indices donnée. Au hasard=0, les sélections sont réparties uniformément sur la plage ; au hasard=1, elles sont aléatoires uniformes sans remplacement ; les valeurs intermédiaires se mélangent linéairement. La sortie est toujours triée par indice de lot. Les indices négatifs comptent à partir de la fin (-1 = dernière).

Random Image From Batch

input
output
start_index
0
end_index
-1
num_frames
1
randomness
1.00
min_distance
0
max_distance
0
seed
0
KJNodes

Description

Le nœud Random Image From Batch (classe RandomImageFromBatch) sélectionne une séquence d'images d'un lot d'images ou de masques dans une plage d'indices donnée. Avec randomness = 0, les sélections sont réparties uniformément sur la plage ; avec randomness = 1, elles sont aléatoires uniformes sans remplacement ; les valeurs intermédiaires se mélangent linéairement. La sortie est toujours triée par indice de lot. Les indices négatifs comptent à partir de la fin (-1 = dernière image).

Ce nœud est utile pour générer un sous-ensemble contrôlé et reproductible d'images à partir d'un lot plus grand – par exemple, pour créer une séquence clairsemée de sauts d'images, ou pour sélectionner un échantillon aléatoire avec un écart minimum ou maximum entre les images choisies.

Entrées

NomTypeDéfautMinMaxInfo-bulle / Comportement
inputMATCHTYPELot d'images ou de masques à échantillonner.
start_indexENTIER0-40964096Début inclusif de la plage d'échantillonnage. Les valeurs négatives comptent à partir de la fin (par ex., -1 est la dernière image).
end_indexENTIER-1-40964096Fin inclusive de la plage d'échantillonnage. -1 signifie la dernière image.
num_framesENTIER114096Combien d'images sélectionner dans la plage. Doit être ≤ au nombre d'images dans la plage.
randomnessFLOTTANT10.01.0Mélange entre espacement uniforme (0) et aléatoire uniforme sans remplacement (1). Les valeurs intermédiaires produisent un espacement uniforme avec gigue.
min_distanceENTIER004096Écart minimum (en images) entre les sélections consécutives. 0 = pas de minimum. Les sélections sont poussées vers l'avant pour respecter cette contrainte ; les sélections ultérieures peuvent être bloquées à la fin de la plage.
max_distanceENTIER004096Écart maximum (en images) entre les sélections consécutives. 0 = pas de maximum. Les sélections sont rapprochées pour respecter cette contrainte, ce qui peut compresser la séquence vers le début.
seedENTIER002^64-1Graine aléatoire pour un échantillonnage reproductible. Ignorée lorsque randomness est 0.

Sorties

TypeDescription
MATCHTYPELes images sélectionnées (même type que l'entrée) dans l'ordre trié par indice de lot.

Notes d'utilisation

  • Définition de la plage : start_index et end_index définissent une plage inclusive. Si start_index > end_index, la plage est vide et aucune image ne sera sélectionnée (la sortie sera un lot vide). Utilisez des indices négatifs pour vous référer commodément aux dernières images (par ex., -1 pour la dernière image).
  • Nombre d'images : num_frames ne doit pas dépasser le nombre d'images dans la plage, sinon le comportement est indéfini (le nœud peut limiter ou générer une erreur ; consultez les messages d'exécution).
  • Comportement de l'aléatoire :
    • 0.0 → Les images sont sélectionnées à intervalles égaux (espacement linéaire) sur la plage. La première sélection est au début, la dernière à la fin.
    • 1.0 → Chaque sélection est aléatoire uniforme sans remplacement (mélange). Les résultats sont reproductibles avec une seed donnée.
    • 0.5 → Les images sont placées à des positions uniformément espacées, puis chacune est décalée par un décalage aléatoire proportionnel à l'espacement (mélange).
  • Contraintes de distance (min_distance, max_distance) :
    • Ces contraintes sont appliquées après la sélection initiale (qu'elle soit aléatoire ou uniformément espacée). Si les contraintes entrent en conflit avec num_frames et la longueur de la plage, le nœud ajustera les sélections pour être aussi proches que possible, en les limitant aux bornes de la plage.
    • Un min_distance > 0 garantit que les sélections sont réparties. Le nœud pousse les sélections ultérieures vers l'avant ; la dernière sélection peut être plus tardive que l'end_index d'origine ? (En réalité, la description dit « les sélections sont poussées vers l'avant pour satisfaire cette contrainte ; les sélections ultérieures peuvent être bloquées à la fin de la plage » – ce qui signifie que les sélections ne dépasseront pas la plage.)
    • Un max_distance > 0 force les sélections à rester proches les unes des autres. Le nœud rapproche les sélections vers le début ; si la plage est trop courte, l'espacement peut être encore réduit.
    • Régler les deux à 0 (défaut) désactive les contraintes de distance.
  • Graine : La seed n'est utilisée que lorsque randomness > 0. Pour des résultats déterministes d'une exécution à l'autre, conservez la même graine et la même valeur d'aléatoire.
  • Tri de la sortie : Quelle que soit la méthode de sélection (aléatoire ou séquentielle), le lot renvoyé est toujours trié par indice d'image, de sorte que les nœuds ultérieurs reçoivent les images dans l'ordre.

Cas d'utilisation exemple

  • Créer un aperçu faible fréquence d'images : Sélectionnez toutes les N images en réglant randomness=0 et un num_frames approprié pour la longueur de la plage.
  • Échantillonner aléatoirement des images pour l'entraînement : Réglez randomness=1, un num_frames important, et éventuellement min_distance pour éviter des images quasi identiques.
  • Espacement uniforme avec gigue : Réglez randomness=0.3 pour briser les motifs réguliers tout en conservant un rythme approximativement cohérent.

Commentaires

Connectez-vous avec GitHub pour rejoindre la discussion.

Chargement des commentaires…
Image aléatoire à partir d'un lot (RandomImageFromBatch) - ComfyUI-KJNodes | ComfyUI Wiki