Numpy |Как получить массив изображений определенной формы - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть папка с изображениями, и я хочу прочитать их как массивы с цифрами (picture_number, height, width, channel)

import numpy as np

height = 200
width = 300
channels = 3
images = 1000
scene_length = 10
data = np.random.random((images, height, width, channels))

см. Набор данных radom.

Вопрос 1 : Как я могу читать в своих изображениях, чтобы я получил такой массив?

Теперь я хочу изменить массив таким образомчто это выглядит как (scene_number, frame, height, width, channel).Каждая сцена состоит из scene_length кадров.

Вопрос 2 : Как лучше всего добиться этого с помощью numpy?

1 Ответ

0 голосов
/ 20 февраля 2019

Для вашего первого вопроса, если ваши файлы находятся в p = Path(r'C:\imagefolder'), составьте список fn_list с вашими именами файлов и прочитайте ваши изображения в список.Например:

fn_list= list(p.glob("./*.jpg"))

, затем используйте библиотеку scipy.ndimage, чтобы прочитать их в список ndarrays:

list_np_images=[scipy.ndimage.imread(f, flatten=False) for f in fn_list], затем используйте np.swapaxes для установкиось изображения в конце.

...