r - 如何在 R 的文件夹中打开和存储一系列图像?
问题描述
所以我有一个文件夹,里面有一些我想用 readImage 函数打开和保存的图像。现在一位同事写了类似的东西来打开和存储图像的名称。我想做以下事情:
setwd("~/ABC/One_Folder_Up")
img_src <- "FolderOfInterest"
image_list <- list.files(路径=img_src,模式=“^关闭”)
但是使用实际的 .tif 图像命名例如: closed100, closed101,....closed201
上面的代码非常适合获取名称。但是我怎样才能得到这种类型的图案,而不是打开并保存图像呢?输出是每个图像的大矩阵。
所以对于 n = 1 到 n,我想执行以下操作:
关闭175 <- readImage(“关闭175.tif”)
ave175 <- 平均值(关闭 175)
SD175 <- SD(关闭175)
我假设第一部分中显示的图像列表可以在所需的循环中使用?
然后,在将图像保存为自己的矩阵并计算所有平均值和 SD 之后,我想将平均值和 SD 放在一个矩阵中,如下所示:
imavelist <- c(ave175, ave176,......ave200)
对不起,不是专家编码器。谢谢!
编辑:也许 lapply?
编辑2:如果我使用这个建议,
需要(成像器)
closed_images <- lapply(closed_im_list, readImage)
closed_im_matrix = do.call('cbind', lapply(closed_images, as.numeric))
然后我需要一个循环来将图像堆栈矩阵的每个元素保存为它自己的单个图像。
解决方案
setwd("~/ABC/One_Folder_Up/FolderOfInterest/")
#for .tif format
image_list=list.files(path=getwd(), pattern = "*.tif")
# for other formats replace tif with appropriate format.
f=function(x){
y=readImage(x)
mve=mean(y)
sd=sd(y)
c(mve,sd)
}
results=data.frame(t(sapply(image_list,f)))
colnames(results)=c("average","sd")
3张图片的结果:
> results
average sd
Untitled.tif 0.9761128 0.1451167
Untitled2.tif 0.9604224 0.1861798
Untitled3.tif 0.9782997 0.1457034
>
推荐阅读
- python-3.x - pywinauto:无法在访问数据库表单中找到元素
- mysql - 电商产品数据库设计:下拉属性+自定义属性(如自定义文本)
- angular - Angular 库模块从模块中导出组件、服务和其他
- maven - 由于 DEFAULT_GLOBAL_SETTING_FILE 错误,无法迁移 Maven-3.6
- r - 缺少参数“mainPanel”,在 R 中没有默认值
- node.js - 数个帖子后,数据库的帖子停止工作
- swift - 为什么 NSFileManager 不能与 UIDocumentBrowserViewController 一起使用?
- c# - 如何替换存储在文本文件中的用户名和密码
- python - 如何将变量设置为属性?
- excel - Excel VBA 到 Windows 窗体应用程序进程通信