当我尝试使用 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 数据。
我刚刚为我的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 库可以从视频文件中读取元数据(相机型号、创建时间等)?Perl 的等价物是“exiftool”。我检查了 pyexiv2,但它没有像 exiftool 那样支持视频。谢谢。
我正在使用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描述.
所以我的问题是:
谢谢你的帮助.
有谁知道如何在 Mac OSX 上安装 python 库pyexiv2和/或 Gexiv2,最好是在 10.6.8 版和 virtualenv 中?
我刚刚在我的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?)
非常感谢任何建议!
我在 OSX 上运行 python 并尝试从我的库中的大量图像中获取额外的 EXIF 数据。到目前为止,我一直在使用Pillow我的 JPG 照片,它的效果非常好。
然而,我偶然发现了PNG我击中的第一张照片。
不过,我可以使用照片检查器在 Mac 上查看大量 EXIF 数据。
首先,Pillow 似乎不支持__get_exifPNG。然后我尝试切换到pyexiv2,但遇到了安装问题。
exiftool也不适合我。
知道是否有在 OSX 上提取 EXIF 数据的 python 方法吗?
我有一堆我正在使用pyexiv2在python中访问的Geotagged图片。效果很好,只是我不明白“ GPSImgDirection”值给出了什么。基本上,有两个很大的数字,例如:
2147483647/8613474
这意味着什么?我认为这是一种“合理的”数据类型。这意味着什么?如何将数字转换成人们可以理解的数字,例如“北偏北5度”?
谢谢!亚历克斯
我正在尝试从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 …