Numpy |如何获取特定形式的图像数组

问题描述 投票:0回答:1

我有一个包含图像的文件夹,我想将它们读成具有形状(picture_number, height, width, channel)的numpy数组

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实现这一目标的最佳方法是什么?

python numpy reshape
1个回答
0
投票

对于您的第一个问题,假设您的文件位于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将图像轴放在最后。

© www.soinside.com 2019 - 2024. All rights reserved.