Exif操作库用于Python

10 浏览
0 Comments

Exif操作库用于Python

我正在寻找一个用于Python的优秀的Exif(可交换图像文件格式)操作库。我更倾向于灵活性(例如,能够检索提供商的专有标签)而不是处理速度。你有什么建议吗?

0
0 Comments

Exif manipulation library for python(Python的Exif操作库)是由于以下原因而出现的需求:Exiv2是一个成熟的、开源的C++库,支持读写多种图像类型(如JPEG、PNG、TIFF和许多原始格式),能理解标准(Xmp、IPTC和Exif)和非标准的元数据("Makernotes"),并且可以在多个平台上运行(Windows、Linux,通过一些工作还可以在Mac上运行)。然而,Exiv2的Python绑定有一些限制,例如gexiv2仅支持python 2.6/2.7/3.X,而pyexiv2虽然不再受支持,但适用于python 2.6/2.7。

解决这个问题的方法是使用Exiv2的Python绑定库。目前有两个可用的绑定库:gexiv2和pyexiv2。其中,gexiv2是一个多语言绑定库,适用于python 2.6/2.7/3.X,可在https://wiki.gnome.org/gexiv2找到。而pyexiv2虽然不再受支持,但仍适用于python 2.6/2.7,可以在http://tilloy.net/dev/pyexiv2/找到。

pyexiv2的一个优势是它有一个适用于python 2.7的Windows版本。而gexiv2的Windows版本仍在请求中:https://bugzilla.gnome.org/show_bug.cgi?id=712441

需要注意的是,Exiv2及其绑定库都是开源的(GPL)。最新的信息显示,pyexiv2已经被分支为py3exiv2.tuxfamily.org,而tilloy.net链接已失效。

0
0 Comments

Exif manipulation library for python(Python的Exif操作库)是一个用于处理图像Exif信息的Python库。根据以上内容,这个问题的出现原因是因为用户想要在Python中操作图像的Exif信息,但是之前使用的pyexiv2库只支持Python 2,而用户需要在Python 3中使用。以下是解决方法:

1. 首先,用户可以尝试使用py3exiv2库,该库是pyexiv2的Python 3版本。可以在py3exiv2的官方文档中找到更多关于安装和使用的信息。

2. 另一个替代方案是使用GExiv2库。根据引用的内容,GExiv2可以在Python 2和3中使用,可以作为pyexiv2的替代品。可以在GExiv2的官方文档中找到更多关于安装和使用的信息。

3. 最后,用户可以尝试使用其他的Exif操作库,如pyexifinfo或exifread等。这些库可以在Python 3中使用,并提供类似的功能。

以上就是关于Exif manipulation library for python这个问题的原因和解决方法的整理。用户可以根据自己的需求选择合适的库来操作图像的Exif信息。

0
0 Comments

Exif操作库是用于Python的一个库,用于处理图片文件中的Exif数据。这个问题的出现可能是因为用户想要从图片文件中提取Exif数据,并对其进行处理或分析。下面给出了几个可能的解决方法。

首先,可以使用exif-py库。这是一个Python库,用于从tiff和jpeg文件中提取Exif数据。它非常易于使用,只需要运行命令`./EXIF.py image.jpg`即可提取指定图片文件的Exif数据。

其次,可以使用Python Imaging Library (PIL),这个库为Python解释器添加了图像处理功能。该库支持多种文件格式,并提供强大的图像处理和图形功能。

还有一个名为pyexif的库,它的网址是http://pyexif.sourceforge.net/。pyexif库旨在从包含Exif信息的Jpeg和Tiff文件中提取Exif信息。这些信息通常包含在使用数码相机、数码胶片扫描仪等数字成像设备创建的图像中。

然而,pyexif库好像已经有一段时间没有更新了。他们建议如果他们的库不能满足需求,可以尝试使用EXIF-py库。因此,最好先尝试使用EXIF-py库,因为他们的sourceforge页面最近似乎有一些活动,尽管不多。

最后,使用PIL库也可以实现这个功能。下面是一个使用PIL库提取Exif数据的示例代码:

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

这个函数可以打开指定的图片文件,并提取其中的Exif数据,最后返回一个包含Exif数据的字典。

需要注意的是,这些解决方法都不能将Exif标签写回到图片文件中,因此它们不能解决写Exif标签的问题。希望这个概述对您有所帮助。需要注意的是,exif-py库目前似乎不兼容Python 3.x版本。

0