from PIL import Image
path = '1.jpg'
im = Image.open(path)
im._getexif()
-------------------------------
~/night_sky $ python3
Python 3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>from PIL import Image
>>> path = '1.jpg'
>>> im = Image.open(path)
>>> im._getexif()
{256: 2000, 257: 2000, 296: 2, 34665: 192, 271: 'RaspberryPi', 272: 'RP_imx219', 306: '2024:12:26 22:21:38', 531: 1, 282: (72, 1), 283: (72, 1), 36864: b'0220', 37121: b'\x01\x02\x03\x00', 37377: (145, 1000000), 36867: '2024:12:26 22:21:38', 36868: '2024:12:26 22:21:38', 37378: (20000, 10000), 37379: (1, 100), 37381: (20000, 10000), 37383: 2, 37385: 0, 37386: (30390, 10000), 40961: 1, 40962: 2000, 40965: 920, 40963: 2000, 33434: (999899, 1000000), 33437: (20000, 10000), 34850: 3, 34855: 400, 41986: 0, 40960: b'0100', 41987: 0, 37500: b'ev=-1 mlux=-1 exp=999899 ag=1171 focus=255 gain_r=1.523 gain_b=1.843 greenness=0 ccm=5604,-782,-722,-1566,6858,-1192,278,-2040,5864,0,0,0 md=0 tg=50322 50322 oth=0 0 b=0 f=50322 50322 fi=0 ISP Build Date: Feb 25 2021, 12:13:02 VC_BUILD_ID_VERSION: 564e5f9b852b23a330b1764bcf0b2d022a20afd0 (clean) VC_BUILD_ID_USER: dom VC_BUILD_ID_BRANCH: bcm2711_2 '}
====================================================
SE_BOKUのまとめノート的ブログ : 「Python3で「Exif情報の参照・削除」と
「GPSから経度・緯度を計算」 / Pythonサンプル」から引用
from PIL import Image
import PIL.ExifTags as ExifTags
class ExifImage:
def __init__(self, fname):
self.img = Image.open(fname)
self.exif = {}
if self.img._getexif():
for k, v in self.img._getexif().items():
if k in ExifTags.TAGS:
self.exif[ExifTags.TAGS[k]] = v
def print(self):
if self.exif:
for k, v in self.exif.items():
print(k, ":", v)
else:
print("exif情報は記録されていません。")
a = ExifImage("1.jpg")
a.print()
空白行を除く:
from PIL import Image
import PIL.ExifTags as ExifTags
class ExifImage:
def __init__(self, fname):
self.img = Image.open(fname)
self.exif = {}
if self.img._getexif():
for k, v in self.img._getexif().items():
if k in ExifTags.TAGS:
self.exif[ExifTags.TAGS[k]] = v
def print(self):
if self.exif:
for k, v in self.exif.items():
print(k, ":", v)
else:
print("exif情報は記録されていません。")
a = ExifImage("1.jpg")
a.print()
これ全体をコピーして,python プロンプト >>> に対しペーストすると:
ImageWidth : 2000
ImageLength : 2000
ResolutionUnit : 2
ExifOffset : 192
Make : RaspberryPi
Model : RP_imx219
DateTime : 2024:12:26 22:21:38
YCbCrPositioning : 1
XResolution : (72, 1)
YResolution : (72, 1)
ExifVersion : b'0220'
ComponentsConfiguration : b'\x01\x02\x03\x00'
ShutterSpeedValue : (145, 1000000)
DateTimeOriginal : 2024:12:26 22:21:38
DateTimeDigitized : 2024:12:26 22:21:38
ApertureValue : (20000, 10000)
BrightnessValue : (1, 100)
MaxApertureValue : (20000, 10000)
MeteringMode : 2
Flash : 0
FocalLength : (30390, 10000)
ColorSpace : 1
ExifImageWidth : 2000
ExifInteroperabilityOffset : 920
ExifImageHeight : 2000
ExposureTime : (999899, 1000000)
FNumber : (20000, 10000)
ExposureProgram : 3
ISOSpeedRatings : 400
ExposureMode : 0
FlashPixVersion : b'0100'
WhiteBalance : 0
MakerNote : b'ev=-1 mlux=-1 exp=999899 ag=1171 focus=255 gain_r=1.523 gain_b=1.843 greenness=0 ccm=5604,-782,-722,-1566,6858,-1192,278,-2040,5864,0,0,0 md=0 tg=50322 50322 oth=0 0 b=0 f=50322 50322 fi=0 ISP Build Date: Feb 25 2021, 12:13:02 VC_BUILD_ID_VERSION: 564e5f9b852b23a330b1764bcf0b2d022a20afd0 (clean) VC_BUILD_ID_USER: dom VC_BUILD_ID_BRANCH: bcm2711_2 '
|