如何创建要在FOR循环中使用的图像对象数组?

时间:2014-07-27 19:48:37

标签: python python-imaging-library

在我的代码中,我打开了一堆Image个像这样的对象:

image1 = Image.open(path + '\\my_image_1.png')
image2 = Image.open(path + '\\my_image_2.png')
image3 = Image.open(path + '\\my_image_3.png')
image4 = Image.open(path + '\\my_image_4.png')
image5 = Image.open(path + '\\my_image_5.png')

但这样做无法迭代Image循环中的for个对象。

我怎么能: 1)创建一个Image个对象数组,然后才能在for循环中使用它们?或者如果不可能: 2)以另一种方式在for循环中逐步浏览上面的图像对象?

干杯。

2 个答案:

答案 0 :(得分:2)

有几种方法,伊格纳西奥建议的方式可能是最优雅的。您也可以执行类似

的操作
images = []
images.append(Image.open(path + '\\my_image_1.png'))
images.append(Image.open(path + '\\my_image_2.png'))

如果您有许多大尺寸的图像,如果一次打开会占用太多内存,您可能还会考虑不制作图像数组,而是制作路径数组。然后你可以在for循环中单独打开图像

base = "my_path"
paths = [os.path.join(base, 'my_image_%d.png' % x) for x in range(1, 6)]

for path in paths:
    image = Image.open(path)
    # do something with the image

答案 1 :(得分:1)

images = [Image.open(os.path.join(path, 'my_image_%d.png' % x)) for x in range(1, 6)]