利用Python實現獲取照片位置信息
引言
通過一張照片居然發現女友在宿舍裡沒去上課!強大的照片位置信息獲取,快來一起學習吧!
一、exifread函數庫
要怎樣獲得拍攝圖片的GPS呢?這裡我們需要exifread 庫,這個就是用來提取 GPS 信息的。直接 pip install exifread 來安裝就好瞭。
安裝exrfread庫(PyCharm)
打開settings如下圖
選擇+號搜索exifread
安裝即可
什麼是exifread函數庫
原理:
先把圖片以二進制的格式讀取出來,然後通過 exifread 庫把裡面的 GPS 信息提取出來,再以特定的格式打印出來,最後直接復制裡面的經緯度信息,在支持通過經緯度來查位置的地圖裡一查就能定位到瞭。
二、獲取女朋友發來的照片(單身勿擾)
女朋友居然告訴我這隻狗好可愛?
哪裡可愛瞭!!?
將圖片放在代碼所在的目錄下
三、具體代碼實現
import exifread import re # 讀取圖片為二進制格式 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['經度'] = 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)
結果
四、經緯度轉換
百度搜索經緯度查詢
隨便點進去一個能夠轉換的
輸入得到的經緯度即可
可惡,居然在宿舍拍狗狗不去上課!!!
好瞭今天的分享就到這裡,希望大傢一起進步!
到此這篇關於利用Python實現獲取照片位置信息的文章就介紹到這瞭,更多相關Python照片位置信息內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 如何用python獲取到照片拍攝時的詳細位置(附源碼)
- Python數據獲取實現圖片數據提取
- Python實現人臉識別的詳細圖文教程
- Python中關於元組 集合 字符串 函數 異常處理的全面詳解
- python入門課程第二講之怎麼運行Python