Импортировать список из 7 изображений .jpeg (одинакового размера) и поместить их в массив NxMx7 - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь импортировать изображения в стек.У меня есть что-то вроде этого, но я не получаю достаточно того, что мне нужно, и не могу найти ответ в Интернете.

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 голосов
/ 10 апреля 2019

Согласно документации 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))

Это создаст список массивов, к которым вы хотите присоединиться (которые вы позже превратите в неизменный кортеж).

...