导入7张.jpeg图片(大小相同)的列表,并将它们堆叠到NxMx7 numpy数组中

时间:2019-04-10 13:13:47

标签: python numpy cv2 numpy-ndarray

我正在尝试导入图像以堆叠到一个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)

1 个答案:

答案 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))

这将创建要加入的数组的列表(以后将变成不可变的元组)。