Ну насколько я понял, проблема в том, что
paths.list_images(args["images"])
возвращает изображения в произвольном порядке (что неудивительно если оно основано на os.walk() или glob.glob(), файловые системы обычно не гарантируют порядок).
Так что засунь это в список:
images = list(paths.list_images(args["images"]))
А потом отсортируй. Если у тебя имена файлов имеют вид
чтото_строка_столбец.PNG
, можно выкрутиться так:
from os import path
def filename_key(fname: str):
fname = path.splitext(path.basename(fname))[0] # убираем путь и расширение
prefix, row, col = fname.rsplit('_', 2) # делим имя на части
return (int(row), int(col)) # возвращаем кортеж, по которому будут сравниваться файлы
images = list(paths.list_images(args["images"]))
images.sort(key=filename_key) # сортируем по выбранному нами критерию