我有一个包含图像的文件夹,我想将它们读成具有形状(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实现这一目标的最佳方法是什么?
对于您的第一个问题,假设您的文件位于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
将图像轴放在最后。