如何创建一个循环来读取python脚本中的多个图像?

如何创建一个循环来读取python脚本中的多个图像?,python,image-processing,python-imaging-library,Python,Image Processing,Python Imaging Library,我使用python进行图像处理。我习惯于剪切、画画和其他事情,但只为一张图片。就像下面的脚本一样,如何在脚本中应用循环来处理多个图像 import PIL import Image im=Image.open('test.tif') box=(50, 50, 200, 200) im_crop=im.crop(box) im_crop.show() 也许是这样的 import PIL import Image images = ["test.tif", "test2.tif",

我使用python进行图像处理。我习惯于剪切、画画和其他事情,但只为一张图片。就像下面的脚本一样,如何在脚本中应用循环来处理多个图像

import PIL

import Image

im=Image.open('test.tif')

box=(50, 50, 200, 200)

im_crop=im.crop(box)

im_crop.show()

也许是这样的

import PIL

import Image

images = ["test.tif", "test2.tif", "test3.tif"]

for imgName in images:
    im=Image.open(imgName)

    box=(50, 50, 200, 200)

    im_crop=im.crop(box)

    im_crop.show()

只需将文件名添加到列表
filelist
for
循环迭代列表中的每个元素,并将当前值分配给
imagefile
。您可以在循环体中使用
imagefile
来处理图像。

您需要将其包装在
for
循环中,并为该循环提供一个文件列表

获取当前目录中所有TIF文件列表的一种非常简单的方法是使用
glob
,如下所示:

import PIL
import Image
import glob

for filename in glob.glob("*.tif"):
    im=Image.open(filename)
    box=(50, 50, 200, 200)
    im_crop=im.crop(box)
    im_crop.show()

我们可以将glob与os.walk、递归搜索一起使用吗?或者我们必须
os.walk
过滤(regex\u搜索,列表)
。更新:我可以改用fnmatch,这几乎是一样的。
import PIL
import Image
import glob

for filename in glob.glob("*.tif"):
    im=Image.open(filename)
    box=(50, 50, 200, 200)
    im_crop=im.crop(box)
    im_crop.show()