Pythonテクノロジー-写真のGPS情報を取得し、写真の位置と時間をロックおよび追跡します

GPS情報を抽出するために使用されるexifreadライブラリが必要ですpip install exifread直接インストールしてください

数日前に友人の三亜で撮影したこのラクダの写真を、三亜を見つけることができるかどうかを確認するデモとして使用しました。[ iPhoneで撮影したもので、他の電話がGPS情報を抽出できるかどうかを試す必要があります]
注:画像が圧縮されている場合、内部のバイナリ情報が破壊されます。抽出しないでください。
ここに画像の説明を挿入
私たちの原則は、まずバイナリ形式で画像を読み取り、次にexifreadライブラリを通じて内部のGPS情報を抽出、次に特定の形式で出力し、最後に内部の緯度と経度の情報を直接コピーします[マップクエリには緯度が必要です正面に置くので、最初に緯度を入力します]緯度と経度による位置の確認をサポートするマップ上で確認することにより、位置を特定できます。

具体的なコードは次のとおりです。

import exifread
import re

# 读取图片为二进制格式
f = open("luotuo.JPG","rb")
tags = exifread.process_file(f)

# GPS信息
GPS = {
    
    }

# 拍摄时间
Data = ""

for tag,value in tags.items():
    # 获取纬度信息
    if re.match('GPS GPSLatitude', tag):
        try:
            match_result=re.match('\[(\w*), (\w*), (\w.*)/(\w.*)\]', str(value)).groups()
            GPS['纬度'] = str(int(match_result[0])) + " " + str(int(match_result[1])) + " " + str(int(match_result[2])/int(match_result[3]))
        except:
            GPS['纬度'] = str(value)
    # 获取纬度信息
    elif re.match('GPS GPSLongitude', tag):
        try:
            match_result=re.match('\[(\w*), (\w*), (\w.*)/(\w.*)\]',str(value)).groups()
            GPS['经度'] = str(int(match_result[0])) + " " + str(int(match_result[1])) + " " + str(int(match_result[2])/int(match_result[3]))
        except:
            GPS['经度'] = str(value)
    # 获取高度
    elif re.match('GPS GPSAltitude', tag):
        GPS['高度'] = str(value)
    # 获取拍摄时间
    elif re.match('Image DateTime', tag):
        Data = str(value)

# 打印信息
print("纬 经 度:" + GPS['纬度'] + "," + GPS['经度'])
print("拍摄时间:" + Data)

図に示すように、読み取り後の緯度経度情報が直接表示されます。
ここに画像の説明を挿入
このGPSSPGマップ検索すると
、海南省の三亜市が直接マップされていることがわかります。
ここに画像の説明を挿入
拡張機能1:後で、Baiduが提供するAPIインターフェースを使用して、緯度と経度を特定の場所に直接変換できます。自分で試すか、ブロガーの更新を後で待つことができます!

拡張機能2:もちろん、この情報は、右クリックイメージのプロパティの詳細情報にも含まれています。
機密情報を保持する場合は、[属性と個人情報の削除]をクリックして、情報を直接削除できます。
ここに画像の説明を挿入
そして、これらの情報は編集することができ、対戦相手をだますのに使用できます。
写真iphone11iphone12に入れました。
ここに画像の説明を挿入
気に入ったら気に入ってください❤!

おすすめ

転載: blog.csdn.net/qq_38161040/article/details/103080034