从图像列表中找到最大图像尺寸

3 投票
4 回答
4363 浏览
提问于 2025-04-16 03:04

我有一份本地保存的图片路径列表。请问我怎么能找到这些图片中最大的那一张?这里说的“最大”不是指文件的大小,而是指图片的尺寸。

所有的图片都是常见的网页兼容格式,比如 JPG、GIF、PNG 等等。

谢谢。

4 个回答

0

你需要用到PIL这个库。

from PIL import Image

img = Image.open(image_file)
width, height = img.size

一旦你知道了单张图片的大小,检查整个列表并选出最大的那张就不成问题了。

7

假设一张图片的“大小”是指它的面积:

from PIL import Image

def get_img_size(path):
    width, height = Image.open(path).size
    return width*height

largest = max(the_paths, key=get_img_size)
6

使用 Python图像库 (PIL)。可以这样做:

from PIL import Image
filenames = ['/home/you/Desktop/chstamp.jpg', '/home/you/Desktop/something.jpg']
sizes = [Image.open(f, 'r').size for f in filenames]
max(sizes)

更新(感谢 delnan):

把上面代码的最后两行替换成:

max(Image.open(f, 'r').size for f in filenames)

更新 2

提问者想找到文件中尺寸最大的那个对应的索引。这需要用到一些 numpy 的帮助。请看下面:

from numpy import array
image_array = array([Image.open(f, 'r').size for f in filenames])
print image_array.argmax()

撰写回答