我试图获得一些照片的坐标,即我试图使用python脚本获取exif数据。目标是对所有照片进行地理参考,并在地图上显示它们的位置。但是,我遇到了exif的问题。我在Windows(64位)上安装了相应的(Strawberry) Perl软件,然后使用Anaconda (Navigator)安装了Exiftool模块(12.30版本),但无济于事。它给了我以下错误:ModuleNotFoundError: No module named 'exif'
。如果我使用命令pip install exif
,它告诉我需求已经满足了。我遗漏了什么?如果需要,我很乐意提供更多的信息。
…我还尝试了另一种选择:模块exifread没有导入问题,但似乎没有所有必要的功能(我可以读取坐标,但不能处理坐标的提取,它给了我一个IfdTag-object,当我想要一个度,分钟和秒的数组,我可以进一步处理。
有一个实用函数exifread.utils.get_gps_coord()
,它提供了方便的方法来访问坐标作为元组的格式(latitude, longitude)
。注:latitude
为负值即为South
,longitude
-West
为负值
import exifread
path = 'image.jpg'
with open(path, 'rb') as f:
tags = exifread.process_file(f, details=False)
coord = exifread.utils.get_gps_coords(tags)
print(coord)
为了完整起见,还有其他模块可以使用exif:
- 枕头-有功能与exif 工作
- piexif
此外,正如在评论中提到的-您可以使用ExifTool (Perl软件),通过subprocess