KJNodes/imagegenerated

从批处理中随机选取图像(RandomImageFromBatch)

从图像或遮罩批处理中按选定索引范围选取帧序列。当randomness=0时,选取帧在范围内均匀分布;当randomness=1时,为不放回均匀随机;中间值则线性混合。输出始终按批处理索引排序。负索引从末尾开始计数(-1表示最后一帧)。

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

描述

从批处理中随机选取图像节点(类 RandomImageFromBatch)从图像或遮罩批处理中按选定索引范围选取帧序列。当 randomness = 0 时,选取帧在范围内均匀分布;当 randomness = 1 时,为不放回均匀随机;中间值则线性混合。输出始终按批处理索引排序。负索引从末尾开始计数(-1 表示最后一帧)。

此节点适用于从更大的批处理中生成可控、可复现的帧子集——例如,创建稀疏的跳帧序列,或选择具有最小或最大间隔的随机样本。

输入

名称类型默认值最小值最大值工具提示/行为
inputMATCHTYPE待采样的图像或遮罩批处理。
start_indexINT0-40964096采样范围的包含起始值。负值从末尾开始计数(例如,-1 表示最后一帧)。
end_indexINT-1-40964096采样范围的包含结束值。-1 表示最后一帧。
num_framesINT114096从范围内选取的帧数。必须 ≤ 范围内的帧数。
randomnessFLOAT10.01.0在均匀分布(0)与不放回均匀随机(1)之间混合。中间值产生抖动均匀间距。
min_distanceINT004096连续选取帧之间的最小间隔(帧数)。0 表示无最小限制。选取帧会被向前推动以满足此约束;后续选取可能被限制到范围的末尾。
max_distanceINT004096连续选取帧之间的最大间隔(帧数)。0 表示无最大限制。选取帧会被向内拉以满足此约束,可能导致序列向起始端压缩。
seedINT002^64-1用于可复现采样的随机种子。当 randomness0 时忽略。

输出

类型描述
MATCHTYPE按批处理索引排序的已选帧(与输入类型相同)。

使用说明

  • 范围定义start_indexend_index 定义一个包含范围。如果 start_index > end_index,则范围为空且不会选择任何帧(输出为一个空批处理)。使用负索引可以方便地引用最后几帧(例如 -1 表示最后一帧)。
  • 帧数num_frames 不得超过范围内的帧数,否则行为未定义(节点可能会限制或报错;请参考运行时消息)。
  • 随机性行为
    • 0.0 → 帧以等间隔(线性间距)在范围内选择。第一帧在起始处,最后一帧在结束处。
    • 1.0 → 每次选取为不放回均匀随机(洗牌)。在给定 seed 下结果可复现。
    • 0.5 → 帧放置于均匀间隔位置,然后每个帧按与间距成比例的随机偏移量抖动(混合)。
  • 距离约束min_distancemax_distance):
    • 这些约束在初始选择(无论是随机还是均匀分布)之后应用。如果约束与 num_frames 和范围长度冲突,节点会尽可能调整选取帧,并限制在范围边界内。
    • min_distance > 0 确保选取帧分散开。节点将后续帧向前推;最后一帧可能晚于原始 end_index?实际上,描述中提到“选取帧会被向前推动以满足此约束;后续选取可能限制到范围末尾”——意味着选取不会超出范围。
    • max_distance > 0 强制选取帧紧密靠近。节点将帧向起始端拉回;如果范围太短,间隔可能会进一步缩小。
    • 两者都设为 0(默认)则禁用距离约束。
  • 种子seed 仅在 randomness > 0 时使用。要在多次运行中获得确定性结果,请保持相同种子和随机性值。
  • 输出排序:无论选取方式是随机还是顺序,返回的批处理始终按帧索引排序,因此后续节点接收到的帧按顺序排列。

示例用例

  • 创建低帧率预览:设置 randomness=0,并根据范围长度适当设置 num_frames,每 N 帧选取一帧。
  • 为训练随机采样帧:设置 randomness=1,较大的 num_frames,并可选择 min_distance 以避免选择过于相似的帧。
  • 均匀分布加抖动:设置 randomness=0.3 打破生硬的固定规律,同时保持大致一致的节奏。

评论

使用 GitHub 登录后即可参与讨论。

评论加载中…
从批处理中随机选取图像 (RandomImageFromBatch) - ComfyUI-KJNodes | ComfyUI Wiki