Pythonでいろいろやってみる

Pythonを使った画像処理や機械学習などの簡単なプログラムを載せています。

写真のexifから緯度・経度を取得する

写真のexif情報から撮影場所の緯度・経度を取得します

環境
  • windows10 home
  • Anaconda 3/ jupyter notebook 5.6.0
  • Python 3.7.0
準備

スマホで撮影したこちらの写真を使います。撮影場所は静岡県熱海市の港です。 f:id:T_A_T:20191007202058j:plain

コード

Pillowの_getexif() メソッドでexif情報を取得し、緯度・経度を示すid34853の値から必要なデータを抜き取っています。

from PIL import Image

img = Image.open('atami_cat.jpg')

exif = img._getexif() # EXIF情報を得る
# idが34853(GPS情報)の場合valueより必要な情報を得る
for id,value in exif.items():
    if id==34853: 
        N1 = value[2][0][0]
        N2 = value[2][1][0]
        N3 = value[2][2][0]/100
        E1 = value[4][0][0]
        E2 = value[4][1][0]
        E3 = value[4][2][0]/100

print(N1,N2,N3)
print(E1,E2,E3)
実行結果

北緯(35度5分32.29秒)および東経(139度4分47.44秒)が表示されます。

35 5 32.29
139 4 47.44

確認のためこの数字をGoogle Mapに入力すると、撮影場所が正しく表示されました。

以下のサイトを参考にさせていただきました

ゼロからはじめるPython>>Pythonで写真に埋め込まれているGPS情報から撮影場所を調べよう
Exif 情報一覧

ブログランキングに参加しています

にほんブログ村 IT技術ブログへ
にほんブログ村