【发布时间】:2016-10-14 19:38:45
【问题描述】:
我正在尝试使用 R 批量调整数千张图像的大小(即减小文件大小)。我已经使用下面的代码设法实现了这一点,但它需要很长时间(尤其是在调整大小 >50,000 个时)图像。有什么方法可以在多个内核上运行此任务?我是并行计算的完全新手,因此将不胜感激任何帮助。提前致谢!
library(imager)
pages <- list.files(path = '...insert directory path...',
full.names = TRUE)
for(x in 1:length(pages)) {
file <- load.image(pages[x])
resized <- imresize(file,
scale = 0.390625)
save.image(resized,
file = gsub("JPG", "jpg", paste(pages[x])))
}
【问题讨论】:
-
您可以使用snow and snowfall packages 进行并行处理。
-
您考虑过使用命令行工具吗?这可能会更快。例如。 playingwithsid.blogspot.ch/2010/08/…
-
你使用的是什么操作系统?
-
感谢@tobiasegli_te。我设法让它工作,它比我的原始代码快得多,但马克使用 GNU 并行的建议甚至更快。再次感谢您的帮助!
标签: r image parallel-processing