Load Images For Loop

节点功能:从指定目录循环加载图像。该节点需要和For Loop Start和For Loop End节点搭配。

输入参数

参数名称说明
initial_value1任意初始值,将随图像一起输出。
initial_value2第二个初始值,与 initial_value1 同用途。

输出参数

参数名称说明
flow控制流信号,用于连接 whileLoopStart 等流程控制节点。
index当前处理图像的索引编号。
image当前读取到的图像,已转换为 tensor 格式。
mask如果图像带 alpha 通道,则为其透明度反转值;否则输出 64×64 的黑图。
name图像文件的名称(不含扩展名)。
value1与输入 initial_value1 一致,原样传递。
value2与输入 initial_value2 一致,原样传递。

控件参数

参数名称说明
directory要加载图像的文件夹路径。
start_index从第几张图像开始加载,默认从第 0 张开始。
limit限制最多加载多少张图像,为 -1 时不限制。

循环操作的关键在于合理搭配 For Loop StartFor Loop End 节点。

首先,For Loop Start 节点的 flow 输出必须连接到 For Loop End 节点的 flow 输入,确保整个循环逻辑闭环。在这两者之间,你可以插入任意想要重复执行的处理流程,例如循环加载图片、批量图像生成等操作。

其中,For Loop Startindex 是每次循环的当前序号。当 total=4 时,index 会从 0 递增至 3,这正好可以用作 Load Images For Loop 节点的图像索引,实现逐张加载。

需要注意的是,尽管 Load Images For Looplimit=-1 表示“尝试加载全部图像”,但实际加载数量仍受到 index total 的约束。举例来说:即便文件夹中有 10 张图像,如果设置 total=4,最终也只会处理前 4 张图像。

还有就是For Loop End一定得有输出,否则达不到循环的效果。

这里还必须用到Batch Any节点,因为它能将输出拼接起来。如下,Load Images For Loop 中的image只能输出当前图片,Batch Any节点则把每次循环的单张图片拼接起来。