【Python】写真のEXIF情報
2021年4月5日
Pythonで写真のEXIF情報を取得してみます。
まず、Pillowモジュールをインストール。
$ pip install Pillow
from PIL import Image img = Image.open('P_20201101_122243.jpg') exif=img._getexif() for key, value in exif.items(): print(key, value)
36864 b'0220'
40961 1
37378 2.0
41987 0
36868 2002:12:08 12:00:00
40962 1836
37377 6.906
36867 2020:11:01 12:22:42
37384 0
37121 b'\x01\x02\x03\x00'
37386 2.89
40963 3264
37385 16
40965 492
271 ASUS
272 X013D
531 1
33434 0.008333333333333333
282 72.0
283 72.0
34853 {29: '2020:11:01', 7: (3.0, 22.0, 42.0)}
34855 50
296 2
34665 137
40960 b'0100'
37500 b'<ZenCircleTag>ZenUI,PixelMasterCamera,AutoMode</ZenCircleTag>'
36867, 36868が日付っぽいですね。EXIF情報のキーと値を全て見てみます。
from PIL import Image from PIL.ExifTags import TAGS img = Image.open('P_20201101_122243.jpg') exif=img._getexif() for key, value in exif.items(): print(key, value) for key, value in exif.items(): print(key, TAGS.get(key), value)
36864 ExifVersion b'0220'
40961 ColorSpace 1
37378 ApertureValue 2.0
41987 WhiteBalance 0
36868 DateTimeDigitized 2002:12:08 12:00:00
40962 ExifImageWidth 1836
37377 ShutterSpeedValue 6.906
36867 DateTimeOriginal 2020:11:01 12:22:42
37384 LightSource 0
37121 ComponentsConfiguration b'\x01\x02\x03\x00'
37386 FocalLength 2.89
40963 ExifImageHeight 3264
37385 Flash 16
40965 ExifInteroperabilityOffset 492
271 Make ASUS
272 Model X013D
531 YCbCrPositioning 1
33434 ExposureTime 0.008333333333333333
282 XResolution 72.0
283 YResolution 72.0
34853 GPSInfo {29: '2020:11:01', 7: (3.0, 22.0, 42.0)}
34855 ISOSpeedRatings 50
296 ResolutionUnit 2
34665 ExifOffset 137
40960 FlashPixVersion b'0100'
37500 MakerNote b'<ZenCircleTag>ZenUI,PixelMasterCamera,AutoMode</ZenCircleTag>'
これで、どれが何の値なのかが分かります。
うまく利用すると、写真の整理とかできそうです。