经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
利用Python实现获取照片位置信息
来源:jb51  时间:2022/8/22 18:17:36  对本文有异议

引言

通过一张照片居然发现女友在宿舍里没去上课!强大的照片位置信息获取,快来一起学习吧!

一、exifread函数库

要怎样获得拍摄图片的GPS呢?这里我们需要exifread 库,这个就是用来提取 GPS 信息的。直接 pip install exifread 来安装就好了。

安装exrfread库(PyCharm)

打开settings如下图

选择+号搜索exifread

安装即可

什么是exifread函数库

原理

先把图片以二进制的格式读取出来,然后通过 exifread 库把里面的 GPS 信息提取出来,再以特定的格式打印出来,最后直接复制里面的经纬度信息,在支持通过经纬度来查位置的地图里一查就能定位到了。

二、获取女朋友发来的照片(单身勿扰)

女朋友居然告诉我这只狗好可爱?

哪里可爱了!!?

将图片放在代码所在的目录下

三、具体代码实现

  1. import exifread
  2. import re
  3.  
  4. # 读取图片为二进制格式
  5. f = open("example2.jpg","rb")
  6. tags = exifread.process_file(f)
  7.  
  8. # GPS信息
  9. GPS = {}
  10.  
  11. # 拍摄时间
  12. Data = ""
  13.  
  14. for tag,value in tags.items():
  15. # 获取纬度信息
  16. if re.match('GPS GPSLatitude', tag):
  17. try:
  18. match_result=re.match('\[(\w*), (\w*), (\w.*)/(\w.*)\]', str(value)).groups()
  19. GPS['纬度'] = str(int(match_result[0])) + " " + str(int(match_result[1])) + " " + str(int(match_result[2])/int(match_result[3]))
  20. except:
  21. GPS['纬度'] = str(value)
  22. # 获取纬度信息
  23. elif re.match('GPS GPSLongitude', tag):
  24. try:
  25. match_result=re.match('\[(\w*), (\w*), (\w.*)/(\w.*)\]',str(value)).groups()
  26. GPS['经度'] = str(int(match_result[0])) + " " + str(int(match_result[1])) + " " + str(int(match_result[2])/int(match_result[3]))
  27. except:
  28. GPS['经度'] = str(value)
  29. # 获取高度
  30. elif re.match('GPS GPSAltitude', tag):
  31. GPS['高度'] = str(value)
  32. # 获取拍摄时间
  33. elif re.match('Image DateTime', tag):
  34. Data = str(value)
  35.  
  36. # 打印信息
  37. print("纬 经 度:" + GPS['纬度'] + "," + GPS['经度'])
  38. print("拍摄时间:" + Data)

结果

四、经纬度转换

百度搜索经纬度查询

随便点进去一个能够转换的

输入得到的经纬度即可

可恶,居然在宿舍拍狗狗不去上课!!!

好了今天的分享就到这里,希望大家一起进步!

到此这篇关于利用Python实现获取照片位置信息的文章就介绍到这了,更多相关Python照片位置信息内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号