Согласно документации np.dstack
, dstack
принимает в качестве аргумента кортеж numpy массивов.Прямо сейчас, с каждым циклом вы сбрасываете переменную стека, чтобы она стала стеком с кортежем длины 1 (одно изображение, на котором вы сейчас находитесь в цикле).Вместо этого вы, вероятно, захотите что-то вроде этого:
import easygui as eg
import cv2
openfiles1 = eg.fileopenbox("Select the files to stack", multiple=True)
pics = []
for item in openfiles1:
pics.append(cv2.imread(item))
stack = np.dstack(tuple(pics))
Это создаст список массивов, к которым вы хотите присоединиться (которые вы позже превратите в неизменный кортеж).