【问题标题】:How to process multiple Jpeg images in R如何在 R 中处理多个 Jpeg 图像
【发布时间】:2017-09-02 18:08:15
【问题描述】:

我刚开始使用 RStudio,因为用于分析我的图像的可用包在 R 中。我只想分析存储在一个文件夹中的大约 50 个图像。如何读取每个图像(通过形成循环),对每个图像执行一些操作并将输出(我的输出是一个列表)保存为向量?

更新:

我刚刚写了一段代码,如下:

folder <- "F:/F_diff/1_d/glass/New folder/"      # path to folder that holds multiple .jpg files
file_list <- list.files(path=folder, pattern="*.jpg") # create list of all .jpg files in folder

for (i in 1:length(file_list)){
  assign(file_list[i],   
     #read image
     im2 <- readImage(paste(folder, file_list[i], sep=''))

     #analyze each image
     B <- matrix(im2,nrow=808,ncol=610,byrow=FALSE, dimnames=NULL)
     Haarimtest <- TOS2D(B, smooth = FALSE, nsamples = 100)
     summary(Haarimtest)

 )}

我收到以下错误:

错误:出现意外符号: " #分析每张图片 乙" Haarimtest

)} 错误:“)”中出现意外的 ')'

更新 2

在修改代码和大量搜索之后,我能够运行它。 该代码首先从一个文件夹中导入所有 30 个大小为 64x64 像素的 .tif 图像,并对每个图像执行一些图像分析 更新后的代码如下:

> library(tiff) 
  library(LS2W) 
  library(LS2Wstat)
> # path to folder that holds multiple .tif files 
  path <- "C:/Users/Metaheuristics/Documents/MATLAB/diff_64 x64/2D/" 
> # create list of all .tif files in folder 
  files <- list.files(path=path, pattern="*.tif") 
> 
> #import all files  
  for(file in files) {   
  perpos <- which(strsplit(file, "")[[1]]==".")   
  assign(
> gsub(" ","",substr(file, 1, perpos-1)), 
> B<-readTIFF(paste(path,file,sep="")))
> 
  #perform image analysis on individual images   
  Haarimtest <- TOS2D(B, smooth = FALSE, nsamples = 100)            
  summary(Haarimtest)   
  }

只有一个问题,我无法保存结果。

【问题讨论】:

标签: r


【解决方案1】:

虽然这个问题似乎已经过去了 2 年。我遇到了类似的问题并找到了解决方案。

在你的 for 循环之前, 添加:df &lt;- NULL 在你排队之后:

Haarimtest <- TOS2D(B, smooth = FALSE, nsamples = 100)

只需添加(在 for 循环内)

df<-rbind(df,data.frame(file,Haarimtest))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多