利用图片中的exif元数据批量查找图片中所包含的GPS信息
在图片的exif(交换图像文件格式)中标准定义了如何存储图像和音频文件的标准,而在这些标签中往往存在了一些容易被人们忽视却又重要的东西。
有一款工具名为exiftool,可以快速的解析所有标签,并将结果显示出来。
在ubuntu中可以这样下载: apt-get install exiftool
然后我们用它来解析某张图片
而当图片数量很多的情况下,批量处理显然成为了一个难题。所以Python就成了最好的工具。
此代码只处理了1.jpg 2.jpg 3.jpg 这三张图片, 而我们要在这些图片的解析结果中找到关于gps的定位信息。
显然结果只有图片二存在gps定位信息。
from PIL import Image
from PIL.ExifTags import TAGS
def demo(name):
exifdata = {}
imgfile = Image.open(name)
info = imgfile._getexif()
if info:
for (tag, value) in info.items():
#print str(tag) + ' : ' + str(value)
decoded = TAGS.get(tag, tag)
#print str(decoded)
exifdata[decoded] = value
exifgps = exifdata['GPSInfo']
if exifgps:
print 'it has founded ; ' + str(name) + " " + str(exifgps)
def main():
for i in range(1, 4):
s = str(i) + '.jpg'
demo(s)
if __name__=='__main__':
main()
利用图片中的exif元数据批量查找图片中所包含的GPS信息的更多相关文章
- Linux批量查找与替换
Linux批量查找并替换文件夹下所有文件的内容 经常要使用到 Linux的批量查找与替换,这里为大家介绍使用 sed 命令和 grep 命令的结合来实现查找文件中的内容并替换. 语法格式: sed - ...
- C#利用SqlDataAdapte对DataTable进行批量数据操作
C#利用SqlDataAdapte对DataTable进行批量数据操作,可以让我们大大简化操作数据的代码量,我们几乎不需要循环和不关心用户到底是新增还是修改,更不用编写新增和修改以及删除的SQL语句, ...
- linux下批量查找/替换文本内容
一般在本地电脑上批量替换文本有许多工具可以做到,比如sublime text ,但大多服务器上都是无图形界面的,为此收集了几条针对linux命令行 实现批量替换文本内容的命令: 1.批量查找某个目下文 ...
- JDBC学习笔记(5)——利用反射及JDBC元数据编写通用的查询方法
JDBC元数据 1)DatabaseMetaData /** * 了解即可:DatabaseMetaData是描述数据库的元数据对象 * 可以由Connection得到 */ 具体的应用代码: @Te ...
- 【转】JDBC学习笔记(5)——利用反射及JDBC元数据编写通用的查询方法
转自:http://www.cnblogs.com/ysw-go/ JDBC元数据 1)DatabaseMetaData /** * 了解即可:DatabaseMetaData是描述数据库的元数据对象 ...
- sublime text3怎么批量查找替换文件夹中的字符
在编写代码的时候,往往有些代码是重复的,但是如果要改一处代码,其他的地方也要改.那么怎么批量修改呢?下面小编就以sublime text3为例来讲解一下sublime text3怎么批量查找替换文件夹 ...
- 利用 yEd 软件做元数据管理
利用 yEd 软件做元数据管理 yEd Diagram editor 是我常用的 flow chart 制图工具, 另外我也用它画 ER 和 use case 图. 总结一下我喜欢 yEd 的原因:1 ...
- Java -- JDBC_利用反射及 JDBC 元数据编写通用的查询方法
先利用 SQL 进行查询,得到结果集: 利用反射创建实体类的对象:创建对象: 获取结果集的列的别名: 再获取结果集的每一列的值, 结合 3 得到一个 Map,键:列的别名,值:列的值: 再利用反射为 ...
- webstorm批量查找,批量替换快捷键
ctrl+shift+f:批量查找,我的webstorm11不能用ctrl+shift+f进行批量查找了,不知道什么原因,自己又胡乱实验了一下, 发现ctrl+shift+g+f可以批量查找 ctrl ...
随机推荐
- 精确率、召回率、F1 值、ROC、AUC 各自的优缺点是什么?
https://www.52ml.net/19370.html 精度.召回.F1点直观理解 图片来自:http://blog.csdn.net/marising/article/details/654 ...
- [Canvas]更多的球
欲观看动态效果请点此下载代码并用Chrome或者Firefox打开. 图例: 代码: <!DOCTYPE html> <html lang="utf-8"> ...
- MySQL数据库设置远程访问权限方法小结
http://www.jb51.net/article/42441.htm MySQL基础知识第一期,如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访 ...
- 【树莓派】树莓派上面安装配置teamviewer
访问树莓派桌面,的另一种方式,就是使用Teamviewer. 参考这篇文章做了实验:http://www.linuxdiyf.com/linux/16887.html,对其中部分进行了件要整理和总结. ...
- Sqlite和Mysql和SqlServer中insert … select … where not exist的用法
下面介绍Mysql和Sqlite和Sqlserver中,根据select的条件判断是否插入.例如: 一.Mysql中: INSERT INTO books (name) SELECT 'SongXin ...
- SQL Server临时表
[]SQL Server临时表]()https://docs.microsoft.com/zh-cn/sql/relational-databases/tables/temporal-tables)
- 2016 博客导读总结 & 个人感悟
此文着笔之时.2017已经在眼前了.预计等我写完,2017已经到了. 二次编辑于2017年1月1日早11点. 关于2016的感悟.十二月初就想写,当时认为是有点太早了,只是却思绪如泉涌. 且那时候才刚 ...
- gdb 小技巧
https://www.gitbook.com/book/wizardforcel/100-gdb-tips/details
- stopPropagation 和stopImmediatePropagation区别
1.示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UT ...
- Eclipse项目修改没有同步到编译的问题
有两个原因: 1:项目有错,不能正常编译:查看是否有Jar包冲突.JDK版本问题等: 2:编译输出目录配置错误: Maven项目会修改项目编译时的输出路径到target文件夹,但是我们用Myelips ...