我使用python处理图像处理。我习惯于切割,绘制和其他东西,但对于一个图像。就像在下面的脚本中一样,我如何在脚本中使用循环来处理多个图像?
import PIL
import Image
im=Image.open('test.tif')
box=(50, 50, 200, 200)
im_crop=im.crop(box)
im_crop.show()
答案 0 :(得分:7)
您需要将其包装在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()
答案 1 :(得分:2)
import PIL
import Image
filelist = ['test.tif','test2.tif']
for imagefile in filelist:
im=Image.open(imagefile)
box=(50, 50, 200, 200)
im_crop=im.crop(box)
im_crop.show()
只需将文件名添加到列表filelist
即可。 for
循环遍历列表的每个元素,并将当前值分配给imagefile
。您可以在循环体中使用imagefile
来处理图像。
答案 2 :(得分:0)
也许是这样的事情?
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()