如何利用python讀取圖片屬性信息
從照片里面獲取GPS信息??山粨Q圖像文件常被簡稱為EXIF(Exchangeable image file format),是專門為數(shù)碼相機的照片設(shè)定的,可以記錄數(shù)碼照片的屬性信息和拍攝數(shù)據(jù),EXIF信息不支持png,webp等圖片格式。

Python中使用ExifRead包讀取圖片的屬性信息,安裝方式為:
pip install exifread
使用exifread.process_file獲取圖像的信息:
img_path = r"bei_012744.jpg" f = open(img_path, 'rb') contents = exifread.process_file(f) f.close()
單步調(diào)試,contents內(nèi)容如下:

GPS坐標(biāo)轉(zhuǎn)換:
通過exifread獲取的經(jīng)緯度信息格式通常是下面這樣的:緯度 [28, 56, 109097/5000] 經(jīng)度 [112, 38, 436353/10000],轉(zhuǎn)換公式如下:
度 = 度 + 分/60 + 秒/3600
[28, 56, 109097/5000] = 28 + 56 / 60 + 109097/5000 / 3600 = 28.93939427777778
因此坐標(biāo)轉(zhuǎn)換代碼如下:
def convert_gps(coord_arr):
? ? arr = str(coord_arr).replace('[', '').replace(']', '').split(', ')
? ? d = float(arr[0])
? ? m = float(arr[1])
? ? s = float(arr[2].split('/')[0]) / float(arr[2].split('/')[1])
? ? return float(d) + (float(m) / 60) + (float(s) / 3600)完整代碼:
import exifread
?
img_path = r"bei_012744.jpg"
f = open(img_path, 'rb')
contents = exifread.process_file(f)
f.close()
?
lon = contents['GPS GPSLongitude'].printable ?# 經(jīng)度
lon = convert_gps(lon)
lat = contents['GPS GPSLatitude'].printable ?# 緯度
lat = convert_gps(lat)
altitude = contents['GPS GPSAltitude'].printable ?# 相對高度
altitude = float(altitude.split('/')[0]) / float(altitude.split('/')[1])
?
print("GPSLongitude:", lon, "\nGPSLatitude:", lat, "\naltitude:", altitude)結(jié)果:
GPSLongitude: 112.64545425
GPSLatitude: 28.93939427777778
altitude: 58.009
到此這篇關(guān)于如何利用python讀取圖片屬性信息的文章就介紹到這了,更多相關(guān)python讀取圖片屬性信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中PDF轉(zhuǎn)Word的多種實現(xiàn)方法
在日常辦公和數(shù)據(jù)處理中,經(jīng)常需要將PDF文檔轉(zhuǎn)換為Word文檔,以便進行編輯、修改或格式調(diào)整,Python作為一種強大的編程語言,提供了多種庫和工具來實現(xiàn)這一功能,以下是對Python中PDF轉(zhuǎn)Word技術(shù)的詳細介紹,需要的朋友可以參考下2025-01-01
一個Python優(yōu)雅的數(shù)據(jù)分塊方法詳解
在做需求過程中有一個對大量數(shù)據(jù)分塊處理的場景,具體來說就是幾十萬量級的數(shù)據(jù),分批處理,每次處理100個。這時就需要一個分塊功能的代碼。本文為大家分享了一個Python中優(yōu)雅的數(shù)據(jù)分塊方法,需要的可以參考一下2022-05-05
Python數(shù)據(jù)處理Filter函數(shù)高級用法示例
本文將詳細介紹filter函數(shù)的使用方法,并提供豐富的示例代碼,幫助你深入理解如何利用它來處理數(shù)據(jù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11
python+selenium+autoit實現(xiàn)文件上傳功能
這篇文章主要介紹了python+selenium+autoit實現(xiàn)文件上傳功能,需要的朋友可以參考下2017-08-08
OpenCV-Python使用cv2實現(xiàn)傅里葉變換
在OpenCV中,我們通過cv2.dft()來實現(xiàn)傅里葉變換,使用cv2.idft()來實現(xiàn)逆傅里葉變換。本文就詳細的介紹一下這兩種用法,感興趣的可以了解一下2021-06-06
Python光學(xué)仿真學(xué)習(xí)處理高斯光束分布圖像
這篇文章主要為大家介紹了Python光學(xué)仿真學(xué)習(xí)之如何處理高斯光束的分布圖像,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-10-10

