我有一个包含图像的文件夹,我想以(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))
查看随机数据集。
问题1 :如何读取图像以得到这样的数组?
现在,我想调整数组的形状,使其看起来像(scene_number, frame, height, width, channel)
。每个场景都由scene_length
个帧组成。
问题2 :用numpy实现这一目标的最佳方法是什么?
答案 0 :(得分:0)
对于第一个问题,假设文件位于
p = Path(r'C:\imagefolder')
用文件名创建列表fn_list
,然后将图像读入列表。例如:
fn_list= list(p.glob("./*.jpg"))
然后使用scipy.ndimage库将它们读入ndarray列表:
list_np_images=[scipy.ndimage.imread(f, flatten=False) for f in fn_list]
,然后使用np.swapaxes
将图像轴放在最后。