自己动手写一些小程序解决工作中的问题,是学习 python 的高效途径。这中间会遇到一些不动手想不到的问题,一个一个地解决它们,你 python 开发水平就会突飞猛进!
本文总结一下实战 python 开发批量读取照片中 GPS 信息的小程序。
工作中,有时需要野外工作者实时拍摄一些照片,手机拍摄的照片中有GPS位置信息,我们需要提取这些照片中的位置信息,并对这些位置信息进行统计分析(比如工作路径、目标的分布)。
要提取这些照片中的位置信息,可以借助看图软件,有些看图软件有查看 exif 信息的功能,可以在看图软件中复制 exif 信息,再整理成表格。如下图所示:
这种方法处理少量照片是可以的,照片数量一多,这就成了一件痛苦的事,并且还容易出错。
学习 python,就想到自己动手写一个小程序,批量读取照片中的 GPS 信息。
程序结构
程序结构如下图所示:
get_lng_lat.py
模块,读取照片的 exif 的主要模块,这里定义了一些函数和方法,遍历、读取文件夹下照片的 exif 信息,并对原始信息进行解析处理,将信息保存到 csv、xlsx 文件中;- .
lng_lat_correct.py
模块,采用算法对 GPS 信息进行变换处理。 ReadExif_win.py
模块,用 wxPython 设计的图形化窗口界面;ReadExif_main.py
wxPython图形界面的主控模块;- 最后用 pyinstaller 打包成 windows 可执行程序,界面如下图:
小程序的使用
下载得到的是一个压缩包,解压下载得到的压缩文件,双击运行其中的 ReadExif_main.exe
文件即可启动程序。免安装,无需安装 python 环境。
-
点击第一个”浏览“按钮,打开资源管理器选择文件对话框,指定你要处理的照片所在的文件夹。
-
点击第二个”浏览“按钮,打开资源管理器选择文件对话框,指定将读取的信息保存的位置文件夹。
-
点击“开始读取”,根据读取的照片的数量和PC的性能,需要不等的时间,4000张照片,大概5-6分钟时间…
-
完成后在下面信息框会显示一些信息,包括照片的位置、数量、Exif信息的csv/xlsx文件的位置、耗时、示例数据等。
-
读取的信息处理后保存为 csv, xlsx 两个文件。
有任何问题,欢迎到 Python草堂QQ群:457079928 讨论交流。有需要这个小程序的可以到这里下载:https://download.csdn.net/download/sinat_32570141/23457264
ReadExifApp