在图片的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()

最新文章

  1. SQLite XXTea加密学习
  2. Hibernate的关联映射——双向1-N关联
  3. 【BZOJ 1798】 [Ahoi2009]Seq 维护序列seq
  4. [LeetCode#272] Closest Binary Search Tree Value II
  5. winform渐变窗口显示/关闭
  6. Amoeba实现mysql主从读写分离
  7. HDU 1071 - The area
  8. 【Sort】希尔排序
  9. DataTable的名称要后设置
  10. (cljs/run-at (JSVM. :all) "一次说白DataType、Record和Protocol")
  11. 每周刷题记录--by noble_
  12. JavaScript进阶(六)用JavaScript读取和保存文件
  13. Vue语法学习第一课——插值
  14. 【gearman】gearmand -d 无反应解决
  15. 【转】CString与string、char*的区别和转换
  16. ios初识UITableView及简单用法一
  17. 【MySQL】MySQL之MySQL常用的函数方法
  18. JVM学习--内存分配策略(持续更新)
  19. Windows运行机理——消息与消息队列
  20. 64位Windows系统如何配置32位ODBC数据源

热门文章

  1. ASP.NET压力测试
  2. 【Python】torrentParser1.02
  3. JAVA基础编程50题(4-6题)具体解释
  4. WIN7系统开题提示loli.vbs 操作超时怎么办
  5. javascript常用的方法(二)
  6. JAVA中使用Apache HttpComponents Client的进行GET/POST请求使用案例
  7. Windows操作系统下的MySQL主从复制及读写分离[转]
  8. 比较typeof与instanceof?
  9. PowerDesigner使用笔记
  10. Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理