gpt4 book ai didi

r - 如何在R中处理多个Jpeg图像

转载 作者:行者123 更新时间:2023-12-02 22:25:04 27 4
gpt4 key购买 nike

我刚刚开始使用 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)

)}

我收到以下错误:

Error: unexpected symbol in: " #analyze each image B" Haarimtest <- TOS2D(B, smooth = FALSE, nsamples = 100) Error in base::log2(x) : non-numeric argument to mathematical function summary(Haarimtest) Error in summary(Haarimtest) : object 'Haarimtest' not found

)} Error: unexpected ')' in " )"

更新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)
}

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

最佳答案

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

在 for 循环之前,地址:df <- NULL加入后:

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

只需添加(在 for 循环内)

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

关于r - 如何在R中处理多个Jpeg图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43276723/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com