【发布时间】: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)
}
只有一个问题,我无法保存结果。
【问题讨论】:
-
如果你知道如何读取一个图像文件,那么你可以做类似stackoverflow.com/questions/11433432/…
-
您好,欢迎来到 SO。请看一下应该如何提问:stackoverflow.com/help/how-to-ask 这是一个有趣的问题,但至少不知道您尝试了哪些代码以及您使用哪个包来分析图像,所以不可能回答令人满意。
-
我正在使用 LS2Wstat 包 (rdocumentation.org/packages/LS2Wstat/versions/2.0-3),它是纹理图像空间平稳性的多尺度测试。这些纹理图像是从光学实验中获得的激光散斑场。
-
文档说
TOS2D()函数将图像作为参数之一,而您提供矩阵B,我建议您将im2作为参数传递而不是B
标签: r