Python 图片处理库exifread详解
【导语】:用python怎样获得图片的GPS信息?今天推荐一下exifread这个神奇的库,不仅仅是GPS信息,几乎能能获得图片的所有信息,快进来看看!!
其实不仅能获得GPS信息,图片的几乎所有信息都能获得。exifread的作用其实是代替了查看图片属性!如下图:
这里用在三亚拍的骆驼照片来做个演示,看看能不能定位到三亚。
注:如果图片被压缩了的话会破坏里面的二进制信息,肯定就不能提取了哦!
原理是:先把图片以二进制的格式读取出来,然后通过exifread库把里面的GPS信息提取出来,再以特定的格式打印出来,最后直接复制里面的经纬度信息,在支持通过经纬度来查位置的地图里一查就能定位到了。
exifread库读取图片的二进制示例:
具体代码如下
importexifread importre #读取图片为二进制格式 f=open("luotuo.JPG","rb") tags=exifread.process_file(f) #GPS信息 GPS={} #拍摄时间 Data="" fortag,valueintags.items(): #获取纬度信息 ifre.match('GPSGPSLatitude',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) #获取纬度信息 elifre.match('GPSGPSLongitude',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) #获取高度 elifre.match('GPSGPSAltitude',tag): GPS['高度']=str(value) #获取拍摄时间 elifre.match('ImageDateTime',tag): Data=str(value) #打印信息 print("纬经度:"+GPS['纬度']+","+GPS['经度']) print("拍摄时间:"+Data)
如图所示,读取后的纬经度信息直接就显示出来了
拓展1:后期我们可以通过百度提供的API接口直接把经纬度转换为具体的地点。大家可以自己来尝试一下!
如果想保密的话,直接点击删除属性和个人信息就能能把信息删掉。
到此这篇关于Python图片处理库exifread详解的文章就介绍到这了,更多相关Python图片处理库exifread内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。