首页 > 解决方案 > 如何使用循环一一读取R中的jpeg文件?

问题描述

我的本地目录中有 jpeg 文件,我想从所有图像中一一提取文本,并相应地记录每个单元格中的所有值。任何人都可以帮我写代码吗?我已经使用 Tesseract apnd Magick 包来提取文本。但现在我需要让它保持循环

标签: rimage-processingdeep-learning

解决方案


首先,您必须知道要读取哪些文件。转到他们所在的目录并使用list.files.

old_dir <- getwd()
setwd('path/to/directory')
filenames <- list.files(pattern = '\\.jpg')  # or '\\.jpeg'

*apply现在标准技巧是使用其中一个函数遍历文件名。为简单起见,我将定义一个执行实际读取和 OCR 文本提取操作的函数。

library(magick)
library(tesseract)

read_ocr_png <- function(file){
  img <- image_read(file)
  image_ocr(img)
}

text_list <- lapply(filenames, read_ocr_png)
names(text_list) <- filenames

完成后重置工作目录。

setwd(old_dir)

推荐阅读