利用图片中的exif元数据批量查找图片中所包含的GPS信息

时间:2024-04-07 17:56:52

在图片的exif(交换图像文件格式)中标准定义了如何存储图像和音频文件的标准,而在这些标签中往往存在了一些容易被人们忽视却又重要的东西。

有一款工具名为exiftool,可以快速的解析所有标签,并将结果显示出来。

在ubuntu中可以这样下载: apt-get install exiftool

然后我们用它来解析某张图片

利用图片中的exif元数据批量查找图片中所包含的GPS信息

而当图片数量很多的情况下,批量处理显然成为了一个难题。所以Python就成了最好的工具。

此代码只处理了1.jpg 2.jpg 3.jpg 这三张图片, 而我们要在这些图片的解析结果中找到关于gps的定位信息。

利用图片中的exif元数据批量查找图片中所包含的GPS信息

显然结果只有图片二存在gps定位信息。

 1 from PIL import Image  
 2 from PIL.ExifTags import TAGS  
 3 def demo(name):  
 4      exifdata = {}  
 5      imgfile = Image.open(name)  
 6      info = imgfile._getexif()  
 7      if info:  
 8          for (tag, value) in info.items():  
 9              #print str(tag) + ' : ' + str(value)  
10              decoded = TAGS.get(tag, tag)  
11              #print str(decoded)  
12              exifdata[decoded] = value  
13          exifgps = exifdata['GPSInfo']  
14          if exifgps:  
15              print 'it has founded ; ' + str(name) + "  " + str(exifgps)  
16 def main():  
17     for i in range(1, 4):  
18         s = str(i) + '.jpg'  
19         demo(s)  
20 if __name__=='__main__':  
21     main()