使用python从目录加载图像并重塑

时间:2015-12-23 00:53:43

标签: python numpy reshape

我想从目录加载相同的图像,并使用python使用重塑函数重塑它们。

我该怎么做?

2 个答案:

答案 0 :(得分:6)

假设您安装了scipy并假设使用"重塑"您实际上是指"调整大小",以下代码应加载目录/foo/bar中的所有图像,将其大小调整为64x64并将其添加到列表images

import os
from scipy import ndimage, misc

images = []
for root, dirnames, filenames in os.walk("/foo/bar"):
    for filename in filenames:
        if re.search("\.(jpg|jpeg|png|bmp|tiff)$", filename):
            filepath = os.path.join(root, filename)
            image = ndimage.imread(filepath, mode="RGB")
            image_resized = misc.imresize(image, (64, 64))
            images.append(image_resized)

如果您需要一个numpy数组(拨打reshape),那么只需在结尾添加images = np.array(images)(开头为import numpy as np)。

答案 1 :(得分:0)

  1. 使用os.walk()遍历图像目录。
  2. 使用Pillow
  3. 加载图片
  4. 使用Image.getdata获取值列表
  5. 将该列表传递给numpy.reshape
  6. 我跳过了很多。您可能必须使用与Pillow的getdata不同的方法,但您没有提供大量上下文。