我正在尝试导入图像以堆叠到一个numpy数组中。我有这样的事情,但没有给我我所需要的东西,而且似乎无法在线找到答案。
import easygui as eg
import cv2
openfiles1 = eg.fileopenbox("Select the files to stack", multiple=True)
stack = np.array([])
for item in openfiles1:
pic = cv2.imread(item)
stack =np.dstack(pic)
答案 0 :(得分:0)
根据np.dstack
文档,dstack
将一个numpy数组的元组作为参数。现在,在每个循环中,您都将stack变量重置为一个元组长度为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))
这将创建要加入的数组的列表(以后将变成不可变的元组)。