首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从for循环保存图像

从for循环保存图像
EN

Stack Overflow用户
提问于 2019-10-30 17:31:28
回答 1查看 104关注 0票数 0

我对R很陌生,并且尝试使用下面的代码在R循环中剪切和保存多个文件。它工作得很好,但唯一的问题是,当它保存输出图像时,相同的输出文件会被覆盖,从而只保存最后一个映像。我希望将裁剪后的图像保存为‘试用_1.png’、‘试用_2.png’等单独的文件。我不知道如何解决这个问题代码主要使用magick包函数。提前谢谢。

代码:

代码语言:javascript
复制
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")

} 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-30 17:42:23

只需在每次交互中更改文件名即可。

代码语言:javascript
复制
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等。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58630842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档