如何在Python脚本中创建循环读取多张图片?
我用Python来处理图像,通常会进行裁剪、绘制等操作,但这些操作都是针对一张图片的。像下面的代码,我想知道怎么在这个脚本里加个循环,来处理多张图片呢?
import PIL
import Image
im=Image.open('test.tif')
box=(50, 50, 200, 200)
im_crop=im.crop(box)
im_crop.show()
3 个回答
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()
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
来处理这个图片。
9
你需要把它放在一个 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()