【问题标题】:For loop in R for extracting text from png filesR中的for循环用于从png文件中提取文本
【发布时间】:2020-04-15 03:45:22
【问题描述】:

我的文件夹中有一些 .png 文件,我需要一个一个地阅读它们,并将所有文件生成的文本连接到一个变量中。我正在使用以下代码:

filenames <- list.files(path = "C:/Users/tmpxk9/Documents", pattern="*.png")

for (i in seq_along(filenames)) {
  xx <- magick::image_read("filenames[i]")
  xx %>%
    magick::image_resize("2000x") %>%
    magick::image_convert(type = 'Grayscale') %>%
    tesseract::ocr() %>%
    cat()
}

出现以下错误:

Error in magick_image_readpath(enc2native(path), density, depth, strip) : 
  rsession.exe: UnableToOpenBlob `C:\Users\tmpxk9\Documents\filenames[i]': No such file or directory @ error/blob.c/OpenBlob/2701

我确定 for 循环存在一些问题,我正在处理它,但无法弄清楚

【问题讨论】:

  • 如果没有可重现的示例,很难进一步探索,但对于初学者来说,“filenames[i]”不应该是引号中的字符串。应该是:xx &lt;- magick::image_read(filenames[i])
  • 引号是问题所在。现在它工作正常

标签: r regex ocr tesseract


【解决方案1】:

您检索文件名的方式不包括它们存储的文件夹。为了获得带有list.files() 的完整路径,您必须包含参数full.names = TRUE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 2016-07-18
    • 2016-09-04
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    相关资源
    最近更新 更多