标签: pyexiv2

如何使用PIL维护图像调整大小的exif数据

当我尝试使用 PIL 调整图像大小(缩略图)时,它会破坏与图像关联的 exif 数据,我该如何保存它。

我调整图像大小并将其作为图像缓冲区上传到云端。

file_path = '...'
file_name = '...'
im = Image.open( file_path )
size =(512,521)
im.thumbnail( size, Image.ANTIALIAS)
thumbnail_buf_string = StringIO.StringIO()
file_save_extension = 'JPEG'
im.save(thumbnail_buf_string, format=file_save_extension)
upload_to_cloud('512_' + file_name , thumbnail_buf_string.getvalue())
Run Code Online (Sandbox Code Playgroud)

调整大小后的图像没有 exif 数据。

python python-imaging-library pyexiv2

6
推荐指数
1
解决办法
2380
查看次数

如何在python中使用gexiv2?

我刚刚为我的debian machiene编译了exiv2和gexiv2,现在我想开始使用gexiv2来编译使用python的IPTC数据.gexiv2网站提供以下代码:

from gi.repository import GExiv2
Run Code Online (Sandbox Code Playgroud)

但这已经导致:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named gi.repository
Run Code Online (Sandbox Code Playgroud)

我甚至不能导入gi所以我想我错过了另一个包!?我该怎么做才能使这项工作符合预期?

更新:我将操作系统升级到最新的debian版本.我现在可以导入gi,但是我仍然遇到GExiv2的问题.

导入GExiv2时发生以下错误:

>>>from gi.repository import GExiv2
ERROR:root:Could not find any typelib for GExiv2
Run Code Online (Sandbox Code Playgroud)

python gobject exiv2 pygobject pyexiv2

6
推荐指数
1
解决办法
5590
查看次数

Python 本机库从视频中读取元数据?

是否有一个 Python 库可以从视频文件中读取元数据(相机型号、创建时间等)?Perl 的等价物是“exiftool”。我检查了 pyexiv2,但它没有像 exiftool 那样支持视频。谢谢。

python exiftool pyexiv2

5
推荐指数
1
解决办法
2万
查看次数

使用pyexiv2对JPEG进行地理标记

我正在使用pyexiv2 Python模块使用另一个SO答案中找到的代码对JPEG进行地理标记(请参阅:使用Python对jpeg-images进行地理标记的最佳方法是什么?)我对GPSTag值有疑问.

答案中给出的代码如下:

exiv_image["Exif.Image.GPSTag"] = 654
exiv_image["Exif.GPSInfo.GPSMapDatum"] = "WGS-84"
exiv_image["Exif.GPSInfo.GPSVersionID"] = '2 0 0 0'
Run Code Online (Sandbox Code Playgroud)

我查看了Exiv2文档并找到了GPSTag,GPSMapDatum和GPSVersionID的描述,但我仍然对GPSTag的价值感到困惑.

从文档中可以看出:

指向GPS Info IFD的指针.GPS Info IFD的互操作性结构与Exif IFD的互操作性结构一样,没有图像数据.

这个描述并没有真正解释如何确定使用什么值,我无法在线找到更好的GPSTag描述.

所以我的问题是:

  1. 给定一个新图像,您如何确定Exif.Image.GPSTag的值?
  2. 为什么代码示例使用值654(这可以通过问题1回答)?

谢谢你的帮助.

python jpeg geotagging pyexiv2

5
推荐指数
1
解决办法
3219
查看次数

如何在 osx 10.6.8 上安装 python 库 Pyexiv2 和 Gexiv2?

有谁知道如何在 Mac OSX 上安装 python 库pyexiv2和/或 Gexiv2,最好是在 10.6.8 版和 virtualenv 中?

python macos virtualenv pyexiv2

5
推荐指数
1
解决办法
4132
查看次数

pyexiv2与自制的python 2.7.4

我刚刚在我的macbook pro(10.7.5)上安装了带有brew的python(2.7.4).我还用brew安装了exiv2和pyexiv2.当我从python解释器导入pyexiv2时,我收到以下错误:

致命的Python错误:解释器未初始化(版本不匹配?)

我应该做些什么来纠正这个问题(考虑到我不想按照这个帖子中的建议删除brewed python: 如何在osx 10.6.8上安装python库Pyexiv2和Gexiv2?)

非常感谢任何建议!

python homebrew pyexiv2

5
推荐指数
1
解决办法
1898
查看次数

如何从PNG照片中提取exif数据?

我在 OSX 上运行 python 并尝试从我的库中的大量图像中获取额外的 EXIF 数据。到目前为止,我一直在使用Pillow我的 JPG 照片,它的效果非常好。

然而,我偶然发现了PNG我击中的第一张照片。

不过,我可以使用照片检查器在 Mac 上查看大量 EXIF 数据。

首先,Pillow 似乎不支持__get_exifPNG。然后我尝试切换到pyexiv2,但遇到了安装问题。 exiftool也不适合我。

知道是否有在 OSX 上提取 EXIF 数据的 python 方法吗?

python png exif exiftool pyexiv2

5
推荐指数
1
解决办法
5716
查看次数

图片的Exif方向

我有一堆我正在使用pyexiv2在python中访问的Geotagged图片。效果很好,只是我不明白“ GPSImgDirection”值给出了什么。基本上,有两个很大的数字,例如:

2147483647/8613474

这意味着什么?我认为这是一种“合理的”数据类型。这意味着什么?如何将数字转换成人们可以理解的数字,例如“北偏北5度”?

谢谢!亚历克斯

exif image geotagging pyexiv2

2
推荐指数
1
解决办法
941
查看次数

无法从Python中的EXIF数据获取GPS坐标(Pillow或pyexiv2)

我正在尝试从JPG图像中提取 GPS 坐标,但我没有获得太多信息pillow

这是我的第一次尝试:

from PIL import Image
from PIL.ExifTags import TAGS

my_img = Image.open("IMG_0547.jpg")

exif_data = my_img.getexif()
for tag_id in exif_data:
    tag = TAGS.get(tag_id, tag_id)
    data = exif_data.get(tag_id)

    print(f"{tag:16}: {data}")
Run Code Online (Sandbox Code Playgroud)

输出:

TileWidth       : 512
TileLength      : 512
GPSInfo         : 1996
ResolutionUnit  : 2
ExifOffset      : 216
Make            : Apple
Model           : iPhone XS
Software        : 13.6
Orientation     : 1
DateTime        : 2020:08:13 21:01:41
XResolution     : 72.0
YResolution     : 72.0
Run Code Online (Sandbox Code Playgroud)

从这里下载图像

我也尝试过使用pyexiv2,但只有一行代码出现此错误 metadata …

python gps exif python-imaging-library pyexiv2

1
推荐指数
1
解决办法
1164
查看次数