从图像列表中找到最大图像尺寸
我有一份本地保存的图片路径列表。请问我怎么能找到这些图片中最大的那一张?这里说的“最大”不是指文件的大小,而是指图片的尺寸。
所有的图片都是常见的网页兼容格式,比如 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()