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

时间:2018-12-19 18:52:14

标签: r image exif exiftool

我想知道是否有人知道如何从多个图像目录中读取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”而不是从“ D:\ F04 \ 0005SET \ 001”之类的其他目录询问EXIF数据。

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

1 个答案:

答案 0 :(得分:0)

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

setwd("C:/exiftool/")
fulldata <- system('exiftool -FileName -GPSLatitude -GPSLongitude -DateTimeOriginal -ext tif -r. "D:\\GIS\\Congo\\F04"', intern = TRUE)