2014-11-12 2 views
0

그래서 수동으로 갤러리에서 사진을 열거 나 선택하지 않고 장치의 모든 사진에서 EXIF ​​데이터를 가져옵니다. 지금까지 (하드 코드 된 파일 경로를 사용하여) 한 장의 사진에서 여러 가지 방법을 찾아 냈습니다.열기 또는 선택하지 않고 장치의 모든 사진에서 EXIF ​​데이터 꺼내기

내 질문은 어떻게 열거 나 선택하지 않고 각 사진에 액세스 한 다음 EXIF ​​데이터를 수집합니까? 내 가정은 Environment.DIRECTORY_PHOTOS을 통해 휴대 전화의 기본 사진 디렉토리에 액세스 한 다음 해당 디렉토리의 모든 사진을 반복하여 필요한 정보를 수집해야한다는 것입니다. 그러나, 나는 이것을 달성하는 방법을 찾지 못했습니다.

이것이 가능합니까? 아니면 이것을 수행하는 더 좋은 방법이 있습니까?

답변

0

폴더의 올바른 디렉토리가 있으면 사진 목록을 반복하여 exif 데이터를 가져올 수 있습니다. 천천히, 그러나 효과적 일 것입니다.

기본적으로 반복합니다. 예를 들어, 파이썬에서 (나는 프로젝트에서 이것을했다) :

from PIL import Image 
from PIL.ExifTags import TAGS 
from PIL.ExifTags import GPSTAGS 

def get_field (exif,field): 
    for (k,v) in exif.items(): 
     if TAGS.get(k) == field: 
      return v 
try: 
    for filename in glob.glob("*.jpg"): 
     image=Image.open(filename) 

     for (k,v) in Image.open(image)._getexif().items(): 
      print ('%s = %s' % (TAGS.get(k), v)) 
      img = Image.open(image) 
      exif = img._getexif() 
      fs="%Y:%m:%d %H:%M:%S" #date format 
      datetime = get_field(exif,'DateTime')#Date Time 

이런 식으로 할 수도있다. 당신은 안드로이드에서 비슷한 것을 할 수 있습니다, 당신이 빨리 반복 할 수있는 이미지 라이브러리를 사용해야합니다.

+0

기본적으로 파일 이름을 사용하여 exif를 잡지 않으면 이미지를 열어야합니다. – Crackers91