사진 파일을 열어보면 아래와 같이 사진의 세부정보를 설명하는 데이터를 볼 수 있습니다.
이번 포스팅은 사진 파일에서 Python을 이용해 메타데이터를 추출하는 방법에 대해 다루려고 합니다.
사진에서 위치정보, 노출시간, 조리개 정보, 촬영시각 등 메타정보(메타데이터)를 추출하기 위해 Python의 PIL(Python Image Library)을 활용합니다.
메타데이터의 추출은 디지털카메라, 휴대폰 카메라의 사진들이 EXIF(Exchangeable Image File Format) 메타데이터 포맷에 맞춰 정보들을 담고 있기에 가능합니다.
EXIF 메타데이터는 다음과 같은 정보(출처: 나무 위키)를 포함합니다.
pip install image
import PIL.Image
from pprint import pprint
# 이미지 불러오기 (YourPath 부분 수정 해주세요)
img = PIL.Image.open("YourPath/능소화.jpeg")
# 메타데이터 불러오기
meta_data = img._getexif()
# 정보 출력
pprint(meta_data)
출력 예시
- 271: 제조사
- 272: 모델명
- 36868: 촬영 시각
- 36881: 촬영 시각 offset 정보
- 34853: 좌표 정보 2: 경도, 4: 위도, 6: 고도
# 메타데이터 정보 저장
company = meta_data[271]
model = meta_data[272]
timestamp = meta_data[36868]
timestamp_offset = meta_data[36881]
gps_info = meta_data[34853]
# 메타데이터 정보 출력
print(company)
print(model)
print(timestamp)
print(timestamp_offset)
print(gps_info)
이미지 정보 추출시 예제로 활용하시라고 메타데이터를 담고있는 사진 1장도 함께 첨부합니다.
기타 궁금하신 사항은 편하게 댓글 남겨주세요.
감사합니다.
1. https://rudalson.tistory.com/entry/python%EC%9C%BC%EB%A1%9C-image-%EC%B2%98%EB%A6%AC%EB%A5%BC-%EC%9C%84%ED%95%9C-exif-%EC%A0%95%EB%B3%B4-%EB%8B%A4%EB%A3%A8%EA%B8%B0
2. https://namu.wiki/w/EXIF
3. https://pillow.readthedocs.io/en/stable/index.html
[Python] PEP 8 -- 파이썬 코드 스타일 가이드 (이항 연산자 +-/*) (0) | 2021.10.09 |
---|---|
[Python] list의 append, extend 메서드, 리스트에 다른 리스트의 원소를 그대로 붙이고 싶다면 extend 사용 (0) | 2021.08.10 |
[Python] Python 멀티프로세싱 예제 with concurrent.futures (0) | 2021.07.31 |
[Python] Python Exception 리스트 (0) | 2021.05.01 |
[Airflow] ModuleNotFoundError: No module named 'sqlalchemy.ext.declarative.clsregistry' (0) | 2021.04.20 |