2010-08-20 8 views

답변

3

Python Imaging Library (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

:

과 함께 위의 코드의 마지막 두 줄을 교체 가장 큰 dim에 해당하는 파일의 색인을 찾으려면 잔치. 이 경우 numpy의 도움이 필요합니다. 아래를 참조

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

정말 (Image.open (F, 'R') f를위한 크기'최대해야한다. 파일 이름에') (생성자 표현!). – delnan

+0

Thanks Manoj. 나는 당신의 람다 함수를 사용하는 방법을 좋아합니다. 이 예제에서 가장 큰 이미지의 인덱스/위치를 얻을 수 있습니까? 필자는 모든 것을 반복하기 위해 항상'for' 루프를 작성할 수 있지만 내 방법은 당신만큼 깨끗하고 간결하지 않습니다. –

+0

@Mridang : 어, 람다? 목록 이해력을 의미하지 않습니까? – delnan

-1
import Image 

src = Image.open(image) 
size = src.size 

크기는 이미지 크기 (witdh 및 높이)

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)