以下是我用于从列表中的多个图像中读取文本的代码,但在调整图像大小后,我想将输出保存到具有确切名称的单独文件夹中。
library(magick)
library(magrittr)
test <- image_read(list) %>%
image_crop("100x16+161+68")%>%
image_resize("2000") %>%
image_convert() %>%
image_trim() %>%
image_ocr()
cat(test)
据我所知,我可以采取一些措施来保存图像,使用&#34; image_write&#34;来保存唯一名称。我会感谢任何建议和帮助,并希望它对新用户也非常有帮助。如果可能的话,我需要为大型数据集创建一批约100张图像。
image_write(list, path = "/data/backup", format = "png") %>%
答案 0 :(得分:1)
这是一种方式:
library(magick)
library(purrr)
save_image <- function(img, img_name, output_dir) {
image_write(img, file.path(output_dir, basename(img_name)))
img
}
fils <- list.files("/tmp/so", pattern="png$", full.names = TRUE)
map(fils, ~{
curr_fil <- .x
image_read(curr_fil) %>%
image_crop("100x16+161+68") %>%
image_resize("2000") %>%
save_image(curr_fil, "/tmp/backup") %>%
image_convert() %>%
image_trim() %>%
image_ocr()
}) -> ocr_result
没有必要提供功能,但它使管道更清洁。这样,您可以使管道元素具有副作用,但继续处理。