【发布时间】:2022-08-16 04:08:56
【问题描述】:
我使用函数arcpy.GetImageEXIFProperties 从无人机拍摄的图像中读取 EXIF 特定数据,它工作正常。
现在我有一堆图片并尝试了包含所有图片的文件夹的功能。那没起效。
有没有办法让它工作?或者是否有类似的功能可以一次处理多张图像,而不是一次处理一张图像?
我使用函数arcpy.GetImageEXIFProperties 从无人机拍摄的图像中读取 EXIF 特定数据,它工作正常。
现在我有一堆图片并尝试了包含所有图片的文件夹的功能。那没起效。
有没有办法让它工作?或者是否有类似的功能可以一次处理多张图像,而不是一次处理一张图像?
arcpy.GetImageEXIFProperties 需要单个文件的路径。但是,您可以简单地遍历文件夹中的图像。
以下示例循环遍历文件夹及其子文件夹中的所有图像,并将 EXIF 属性添加到字典以供将来使用:
import arcpy
from pathlib import Path
IMAGE_FOLDER = Path(r"d:\backgrounds")
exif_properties = {}
for image in IMAGE_FOLDER.glob("**/*.jpg"):
exif_properties[image.name] = arcpy.GetImageEXIFProperties(image)
# print(exif_properties)
print(exif_properties.get("luftaufnahme_winterthur.jpg"))
(据我所知,没有现成的函数。如果有的话,该函数也会遍历文件。您可以将上述代码添加到函数中以供将来重用。)
警告:上面的代码示例仅在文件名在文件夹及其子文件夹中唯一的情况下才有效。否则,最后访问的同名文件将添加到字典中。
如果您不想包含子文件夹,只需将模式更改为 *.jpg 而不是 **/*.jpg。
【讨论】: