python 通過exifread讀取照片信息
通過第三方庫exifread讀取照片信息。
exifread官網(wǎng):https://pypi.org/project/ExifRead/
一、安裝exifread
pip install exifread
二、讀取照片信息,以及根據(jù)經(jīng)緯度通過百度地圖API獲取位置
import exifread import json import urllib.request # Open image file for reading (binary mode) f = open('001.jpg', 'rb') # Return Exif tags tags = exifread.process_file(f) ''' #打印所有照片信息 for tag in tags.keys(): print("Key: {}, value {}".format(tag, tags[tag])) ''' #打印照片其中一些信息 print('拍攝時間:', tags['EXIF DateTimeOriginal']) print('照相機制造商:', tags['Image Make']) print('照相機型號:', tags['Image Model']) print('照片尺寸:', tags['EXIF ExifImageWidth'], tags['EXIF ExifImageLength']) #獲取經(jīng)度或緯度 def getLatOrLng(refKey, tudeKey): if refKey not in tags: return None ref=tags[refKey].printable LatOrLng=tags[tudeKey].printable[1:-1].replace(" ","").replace("/",",").split(",") LatOrLng=float(LatOrLng[0])+float(LatOrLng[1])/60+float(LatOrLng[2])/float(LatOrLng[3])/3600 if refKey == 'GPS GPSLatitudeRef' and tags[refKey].printable != "N": LatOrLng=LatOrLng*(-1) if refKey == 'GPS GPSLongitudeRef' and tags[refKey].printable != "E": LatOrLng=LatOrLng*(-1) return LatOrLng #調用百度地圖API通過經(jīng)緯度獲取位置 def getlocation(lat,lng): url = 'http://api.map.baidu.com/geocoder/v2/?location=' + lat + ',' + lng + '&output=json&pois=1&ak=申請的百度地圖KEY' req = urllib.request.urlopen(url) res = req.read().decode("utf-8") str = json.loads(res) #print(str) jsonResult = str.get('result') formatted_address = jsonResult.get('formatted_address') return formatted_address lat = getLatOrLng('GPS GPSLatitudeRef','GPS GPSLatitude') #緯度 lng = getLatOrLng('GPS GPSLongitudeRef','GPS GPSLongitude') #經(jīng)度 print('緯度:{} 經(jīng)度:{}'.format(lat, lng)) location = getlocation(str(lat), str(lng)) print('位置:{}'.format(location))
以上就是python 通過exifread讀取照片信息的詳細內(nèi)容,更多關于python 讀取照片信息的資料請關注腳本之家其它相關文章!
相關文章
Python調用VBA實現(xiàn)保留原始樣式的表格合并方法
本文主要介紹了Python調用VBA實現(xiàn)保留原始樣式的表格合并方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-01-01Python collections中的雙向隊列deque簡單介紹詳解
這篇文章主要介紹了Python collections中的雙向隊列deque簡單介紹詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11PyTorch中 tensor.detach() 和 tensor.data 的
這篇文章主要介紹了PyTorch中 tensor.detach() 和 tensor.data 的區(qū)別解析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04Python采集數(shù)據(jù)保存CSV文件出現(xiàn)內(nèi)容亂碼的解決方法
這篇文章主要為大家詳細介紹了如何解決Python中保存CSV文件內(nèi)容亂碼的問題,并提供詳細的示例代碼以更好地理解和解決這個問題,希望對大家有所幫助2024-03-03Python cookbook(數(shù)據(jù)結構與算法)通過公共鍵對字典列表排序算法示例
這篇文章主要介紹了Python cookbook(數(shù)據(jù)結構與算法)通過公共鍵對字典列表排序算法,結合實例形式分析了Python基于operator模塊中的itemgetter()函數(shù)對字典進行排序的相關操作技巧,需要的朋友可以參考下2018-03-03Python3.10動態(tài)修改Windows系統(tǒng)本地IP地址
這篇文章主要介紹了Python3.10動態(tài)修改Windows系統(tǒng)本地IP地址,需要的朋友可以參考下2023-05-05python 安裝virtualenv和virtualenvwrapper的方法
下面小編就為大家?guī)硪黄猵ython 安裝virtualenv和virtualenvwrapper的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01Python 讀取xml數(shù)據(jù),cv2裁剪圖片實例
這篇文章主要介紹了Python 讀取xml數(shù)據(jù),cv2裁剪圖片實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python中CSV文件(逗號分割)實戰(zhàn)操作指南
CSV文件默認以英文逗號做為列分隔符,換行符作為行分隔符,下面這篇文章主要給大家介紹了關于Python中CSV文件(逗號分割)的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-07-07