我使用python來處理圖像。我習慣於剪切,繪製和其他東西,但只適用於一幅圖像。就像在下面的腳本中一樣,我怎樣才能在腳本中循環執行多個圖像?如何創建一個循環來讀取python腳本中的多個圖像?
import PIL
import Image
im=Image.open('test.tif')
box=(50, 50, 200, 200)
im_crop=im.crop(box)
im_crop.show()
我使用python來處理圖像。我習慣於剪切,繪製和其他東西,但只適用於一幅圖像。就像在下面的腳本中一樣,我怎樣才能在腳本中循環執行多個圖像?如何創建一個循環來讀取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()
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
來處理圖像。
您需要將其封裝在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()
我們可以使用與'os.walk',遞歸搜索水珠?或者我們必須'os.walk'和'filter(regex_search,list)'。更新:我可以使用fnmatch代替,這幾乎是一回事。 –