利用Python實現(xiàn)獲取照片位置信息
引言
通過一張照片居然發(fā)現(xiàn)女友在宿舍里沒去上課!強(qiáng)大的照片位置信息獲取,快來一起學(xué)習(xí)吧!
一、exifread函數(shù)庫
要怎樣獲得拍攝圖片的GPS呢?這里我們需要exifread 庫,這個就是用來提取 GPS 信息的。直接 pip install exifread 來安裝就好了。
安裝exrfread庫(PyCharm)
打開settings如下圖
選擇+號搜索exifread
安裝即可
什么是exifread函數(shù)庫
原理:
先把圖片以二進(jìn)制的格式讀取出來,然后通過 exifread 庫把里面的 GPS 信息提取出來,再以特定的格式打印出來,最后直接復(fù)制里面的經(jīng)緯度信息,在支持通過經(jīng)緯度來查位置的地圖里一查就能定位到了。
二、獲取女朋友發(fā)來的照片(單身勿擾)
女朋友居然告訴我這只狗好可愛?
哪里可愛了?。??
將圖片放在代碼所在的目錄下
三、具體代碼實現(xiàn)
import exifread import re # 讀取圖片為二進(jìn)制格式 f = open("example2.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['經(jīng)度'] = str(int(match_result[0])) + " " + str(int(match_result[1])) + " " + str(int(match_result[2])/int(match_result[3])) except: GPS['經(jīng)度'] = str(value) # 獲取高度 elif re.match('GPS GPSAltitude', tag): GPS['高度'] = str(value) # 獲取拍攝時間 elif re.match('Image DateTime', tag): Data = str(value) # 打印信息 print("緯 經(jīng) 度:" + GPS['緯度'] + "," + GPS['經(jīng)度']) print("拍攝時間:" + Data)
結(jié)果
四、經(jīng)緯度轉(zhuǎn)換
百度搜索經(jīng)緯度查詢
隨便點進(jìn)去一個能夠轉(zhuǎn)換的
輸入得到的經(jīng)緯度即可
可惡,居然在宿舍拍狗狗不去上課?。?!
好了今天的分享就到這里,希望大家一起進(jìn)步!
到此這篇關(guān)于利用Python實現(xiàn)獲取照片位置信息的文章就介紹到這了,更多相關(guān)Python照片位置信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中join與os.path.join()函數(shù)實例詳解
os.path.join()函數(shù)用于路徑拼接文件路徑,下面這篇文章主要給大家介紹了關(guān)于python中join與os.path.join()函數(shù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03Windows10+anacond+GPU+pytorch安裝詳細(xì)過程
這篇文章主要介紹了Windows10+anacond+GPU+pytorch安裝詳細(xì)過程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03python GUI庫圖形界面開發(fā)之PyQt5線程類QThread詳細(xì)使用方法
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5線程QThread類詳細(xì)使用方法,需要的朋友可以參考下2020-02-02跨平臺python異步回調(diào)機(jī)制實現(xiàn)和使用方法
這篇文章主要介紹了python異步回調(diào)機(jī)制的實現(xiàn)方法,提供了使用方法代碼2013-11-11python字符串加密解密的三種方法分享(base64 win32com)
這篇文章主要介紹了python字符串加密解密的三種方法,包括用base64、使用win32com.client、自己寫的加密解密算法三種方法,大家參考使用吧2014-01-01Python實現(xiàn)GUI學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)GUI學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01深入理解Python虛擬機(jī)之進(jìn)程、線程和協(xié)程區(qū)別詳解
在本篇文章當(dāng)中深入分析在 Python 當(dāng)中 進(jìn)程、線程和協(xié)程的區(qū)別,這三個概念會讓人非常迷惑,如果沒有深入了解這三者的實現(xiàn)原理,只是看一些文字說明,也很難理解,在本篇文章當(dāng)中我們將通過分析部分源代碼來詳細(xì)分析一下這三者根本的區(qū)別是什么,需要的朋友可以參考下2023-10-10探索Python數(shù)據(jù)可視化庫中Plotly Express的使用方法
在數(shù)據(jù)分析和可視化領(lǐng)域,數(shù)據(jù)的有效呈現(xiàn)是至關(guān)重要的,python作為一種強(qiáng)大的編程語言,提供了多種數(shù)據(jù)可視化工具和庫,本文將介紹Plotly Express的基本概念和使用方法,幫助讀者快速入門并掌握數(shù)據(jù)可視化的技巧2023-06-06Python實現(xiàn)的數(shù)據(jù)結(jié)構(gòu)與算法之基本搜索詳解
這篇文章主要介紹了Python實現(xiàn)的數(shù)據(jù)結(jié)構(gòu)與算法之基本搜索,詳細(xì)分析了Python順序搜索、二分搜索的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04