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

Using python load images from directory and reshape

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

我该怎么做?

  1. 使用os.walk()遍历图片目录。
  2. 使用Pillow
  3. 加载图像
  4. 使用Image.getdata获取值列表
  5. 将该列表传递给 numpy.reshape

我跳过了很多。您可能必须使用与 Pillow 中的 getdata 不同的方法,但您没有提供很多上下文。

假设您已经安装了 scipy 并假设 "reshape" 您实际上是指 "resize",下面的代码应该加载目录 /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)。