我正在为python寻找好的exif(可交换图像文件格式)操作库.我更喜欢灵活性(例如,检索提供商专有标签的能力)而不是处理速度.你会建议什么?
Pao*_*ino 63
你可能想看看exif-py:
Python库从tiff和jpeg文件中提取EXIF数据.非常容易使用 - $ ./EXIF.py image.jpg
Python Imaging Library(PIL)为Python解释器添加了图像处理功能.该库支持多种文件格式,并提供强大的图像处理和图形功能.
还有恰当名称的pyexif:http://pyexif.sourceforge.net/
pyexif python库和工具旨在从包含它的Jpeg和Tiff文件中提取EXIF信息.该信息通常包括在使用数字成像设备(例如数码相机,数字胶片扫描仪等)创建的图像中.
但是,看起来像pyexif还没有更新.他们建议如果他们没有办法检查EXIF-py,那么你应该先尝试一下,因为他们的sourceforge页面似乎最近有一些活动,虽然不多.最后,使用PIL你可以这样做:
from PIL import Image
from PIL.ExifTags import TAGS
def get_exif(fn):
ret = {}
i = Image.open(fn)
info = i._getexif()
for tag, value in info.items():
decoded = TAGS.get(tag, tag)
ret[decoded] = value
return ret
Run Code Online (Sandbox Code Playgroud)
免责声明:
我实际上不知道哪个是最好的,这正是我能与谷歌拼凑起来的.:)
dlm*_*dlm 32
Exiv2(exiv2:http://exiv2.org/ )是一个成熟的开源C++库,支持读取和编写元数据到许多图像类型(JPEG,PNG,TIFF和许多原始格式),理解标准(Xmp,IPTC)和Exif)和非标准元数据("Makernotes"),并在多个平台上运行(Windows,Linux,以及一些工作,Mac).
Python绑定到exiv2是:
pyexiv2的一个优点是可以为python 2.7提供windows构建.这里有一个关于gexiv2的windows构建请求:https://bugzilla.gnome.org/show_bug.cgi?id = 712441
exiv2和绑定都是开源的(GPL).
小智 5
使用PIL :)
import os,sys
from PIL import Image
from PIL.ExifTags import TAGS
if __name__ == '__main__':
for (k,v) in Image.open(sys.argv[1])._getexif().iteritems():
print '%s = %s' % (TAGS.get(k), v)
os.system('pause')
Run Code Online (Sandbox Code Playgroud)