r - 从 for 循环中保存图像
问题描述
我是 R 新手,并尝试使用以下代码在 R 循环中裁剪和保存多个文件。它工作正常,但唯一的问题是,当它保存输出图像时,相同的输出文件被覆盖,导致只保存最后一个图像。我希望将裁剪后的图像保存为单独的文件,如“trial_1.png”、“trial_2.png”等。我不知道如何解决这个问题,欢迎提出任何建议。代码主要使用了magick包函数。提前致谢。
代码:
library(pdftools)
library(magick)
library(png)
library(raster)
path = "~/Desktop/RME_task"
file.names<-dir(path, pattern = ".png")
for(i in 1:length(file.names)){
rme_stimuli_set1_1<-image_read(file.names[i])
rme_stimuli_set1_1_scaled<-image_scale(rme_stimuli_set1_1, "700x700")
rme_stimuli_set1_1_cropped<-image_crop(rme_stimuli_set1_1_scaled, "305x120+118+322")
image_write(rme_stimuli_set1_1_cropped, "CROPPED/trial_.png")
}
解决方案
只需在每次交互中更改文件名。
library(pdftools)
library(magick)
library(png)
library(raster)
path = "~/Desktop/RME_task"
file.names<-dir(path, pattern = ".png")
for(i in 1:length(file.names)){
rme_stimuli_set1_1<-image_read(file.names[i])
rme_stimuli_set1_1_scaled<-image_scale(rme_stimuli_set1_1, "700x700")
rme_stimuli_set1_1_cropped<-image_crop(rme_stimuli_set1_1_scaled, "305x120+118+322")
image_write(rme_stimuli_set1_1_cropped, paste0("CROPPED/trial_",i,".png"))
}
这样,循环的每次交互都会创建 trial_1.png、trial_2.png 等。
推荐阅读
- css - 如何增加 rshiny 仪表板侧边栏菜单项之间的填充边距?
- python - 熊猫提取价值变化的前一行
- symfony - 为什么在 prod mod 的 symfony 5.3 中出现 503 错误,而在 dev mod 中却没有
- javascript - 会话存储问题
- firebase - 不允许读取您在 firebase 数据库中读取的特定密钥
- go - 在嵌套 golang 结构中使用指针
- php - 为什么 MySQL 中的这个更新在 PHP 中没有正确完成?
- javascript - 想知道使用带有 node.js 的 JS 在网页上获取用户输入然后使用该输入进行网页抓取的最佳方式
- php - 如何访问提交数据并将其提交给第三方 API?
- python - 如何让输出向后打印?