R:从多个图像目录中读取EXIF数据

问题描述 投票:0回答:1

我想知道是否有人知道如何从多个图像目录中读取EXIF数据。我收集了图像数据,但对于单个样本,这通常存储在多个子目录中。到目前为止,我试过这个:

multidirdata <- list.dirs("D:/F04", full.names = TRUE, recursive = TRUE)

for (i in 1 : length(multidirdata)){
  setwd("C:/exiftool/")
  multisubdirdata <- list.dirs(multidirdata[i])
  for (j in 1 : length(multisubdirdata)){
    filelist <- list.files(path = multisubdirdata, pattern = ".tif", full.names = TRUE)
    fulldata <- data.frame(system('exiftool -FileName -GPSLatitude -GPSLongitude -DateTimeOriginal -,
                              "D:\\F04\\0005SET\\000"', intern = TRUE))
    img.df <- read.delim2(textConnection(fulldata), stringsAsFactors = FALSE, header = FALSE,
                      col.names = c("File", "Lat", "Lon", "Time"))
    setwd(multisubdirdata[j])
    write.csv(fulldata, file = paste("multipts", "csv", sep = "."), row.names = TRUE, append = FALSE)
  }
 }

如您所见,这只询问来自“D:\ F04 \ 0005SET \ 000”的EXIF数据,而不是来自其他目录,例如“D:\ F04 \ 0005SET \ 001”。

最好,我想通过向量multidirdata和multisubdirdata设置所有需要的图像目录的向量,并在EXIF命令中使用它们。

r image exif exiftool
1个回答
0
投票

注意StarGeek提到的常见错误使它现在对我有用:

setwd("C:/exiftool/")
fulldata <- system('exiftool -FileName -GPSLatitude -GPSLongitude -DateTimeOriginal -ext tif -r. "D:\\GIS\\Congo\\F04"', intern = TRUE)
© www.soinside.com 2019 - 2024. All rights reserved.