2016-12-28 4 views
0

나는 무언가를 위해 사용할 계획 인 많은 이미지를 가지고 있으며, 파이썬 스크립트에서 읽을 수있는 태그를 모두 제공하여 정렬 할 수 있다면 매우 유용 할 것입니다. 내가 this StackOverflow post에서 몇 가지 방법을 시도했지만 그들 중 누구도 내가 필요한 데이터를 반환하지 않습니다. 여기에 내가 무엇을 시도했다입니다 :Python - jpg EXIF ​​데이터에서 태그를 나열하는 방법?

from PIL import Image 
import PIL.ExifTags 
import exifread 

dir = "C:\directory\\" 
image = "image_name.jpg" 
image_dir = dir + image 
img = Image.open(image_dir) 

#Attempt 1 - using PIL 
exif_data = img._getexif() 

print(exif_data) 

#Attempt 2 - using exifread 
f = open(image_dir) 
tags = exifread.process_file(f) 

print(tags) 

#Attemp 3 - using PIL 
exif = { 
    PIL.ExifTags.TAGS[k]: v 
    for k, v in img._getexif().items() 
    if k in PIL.ExifTags.TAGS 
} 

print(exif) 

결과는 약간 길고 지저분하다 (시도 1 개 반환 매우 긴 사전을 반복 무리와 함께 "\ x00부터 \"그래서 내가 여기에 게시하지 않습니다)

  • 시도 2-{'Image XPKeywords': (0x9C9E) Byte=[] @ 30, 'EXIF Padding': (0xEA1C) Undefined=[] @ 2128, 'Image ExifOffset': (0x8769) Long=2110 @ 18, 'Image Padding': (0xEA1C) Undefined=[] @ 50}
  • 시도 3-{'ExifOffset': 2110, 'XPKeywords': 'e\x00x\x00a\x00m\x00p\x00l\x00e\x00;\x00t\x00e\x00s\x00t\x00\x00\x00'}

태그 자체가 "예"및 "테스트." 내가 다르게 할 수있는 것에 대한 조언?

답변

0

이 스크립트는 Python 3 스크립트로 실행 해 볼 수 있습니다. 난 그냥

https://upload.wikimedia.org/wikipedia/commons/1/1e/Stonehenge.jpg 

에 대한 귀하의 시도 # 1 코드를 실행하고 그 결과를주는 일 :

{40963: 472, 305: 'Adobe Photoshop CS Windows', 274: 1, 40962: 709, 40961: 65535, 296: 2, 34665: 164, 282: (120, 1), 283: (120, 1), 306: '2005:10:13 15:32:07'} 

참고 : 나는 베개에서 PIL의 포크 사용하고 있었다 - http://pillow.readthedocs.io/en/3.1.x/installation.html

관련 문제