我有 4000 个 .jpeg
图像文件,我希望使用 exiftool
向其中添加纬度和经度
。我有一个文本文件,其中包含:
- 第一列 = 图像文件名按顺序从
1
到4000
- 第二列 = 纬度
- 第三列 = 经度
如何使用某些脚本向图像添加经度和纬度?
最佳答案
我还没有尝试过这个脚本,所以显然还有一些优化的空间。暂时你可以试试这个。
考虑到名为坐标
的文件具有问题中描述的列,我相应地编写了此脚本。
#!/bin/bash
# Loop for every line in the coordinates file
cat coordinates | while IFS= read -r line
do
# Get Image name from Ist, Latitude from 2nd & Longitude from 3rd column.
IMAGE=`echo "$line" | awk '{print $1}'`
LAT=`echo "$line" | awk '{print $2}'`
LONG=`echo "$line" | awk '{print $3}'`
# Assign variables values into "exiftool" command
exiftool -exif:gpslatitude="$LAT" -exif:gpslatituderef=S -exif:gpdlongitude="$LONG" -exif:gpslongituderef=E "$IMAGE"
done
需要考虑的一些要点:
如果
exif
标记不适合您,您可以使用XMP
标记。在这种情况下,命令行将如下所示:exiftool -XMP:GPSLatitude="$LAT" -XMP:GPSLongitude="$LONG" -GPSLatitudeRef="South" -GPSLongitudeRef="East" "$IMAGE"
如果您没有
GPSLatitudeRef
和GPSLongitudeRef
位置的引用值
,只需使用-P
,它应该可以正常运行:exiftool -XMP:GPSLatitude="$LAT" -XMP:GPSLongitude="$LONG" -P "$IMAGE"
-P
选项保留并覆盖传递给它的标记的值,忽略还需要的其余标记。如果您想添加更多或更少的标签,请参阅 GPS Tags 。
欢迎添加更多详细信息。
关于linux - 使用 exiftool 将纬度-经度(从文件)添加到 4000 个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50540470/