如何创建一个循环来读取python脚本中的多个图像?
我使用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",
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()