利用图片中的exif元数据批量查找图片中所包含的GPS信息
在图片的exif(交换图像文件格式)中标准定义了如何存储图像和音频文件的标准,而在这些标签中往往存在了一些容易被人们忽视却又重要的东西。
有一款工具名为exiftool,可以快速的解析所有标签,并将结果显示出来。
在ubuntu中可以这样下载: apt-get install exiftool
然后我们用它来解析某张图片
而当图片数量很多的情况下,批量处理显然成为了一个难题。所以Python就成了最好的工具。
此代码只处理了1.jpg 2.jpg 3.jpg 这三张图片, 而我们要在这些图片的解析结果中找到关于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()