多列的R / Tesseract:如何识别文本的不同部分?

问题描述

我扫描了一本旧的瑞士计算机杂志的几千页,并将其作为我的硕士论文的一部分公开。但是首先,我想在所有页面上使用R / Tesseract进行OCR,然后也许要使用Quanteda。

这时,我正在运行一个循环,该循环将页面转换为pdf和png,读取ocr并从中创建txt文件效果很好,所有文件都已转换。

但是,当我使用杂志时,所有页面的结构都不同。我有广告,单列,多列,等等。我无法让Tesseract识别列,即使它给了我分型线(有时也会这样做),我也无法弄清楚如何正确构造它。

This is from "Micro & Kleincomputer" (1968/4/p87)

我正在将其用于OCR:

file <-  images_test %>%
   image_convert(type = 'Grayscale') %>%
   image_write(format = 'png')
   text <- tesseract::ocr(file,engine = tesseract("deu"))
   write(text,file = txtpfad)

我的结果如下:

Round UM DEN IBM-PC 2输入Ir Bytes pro Sektor。 Mit derDatenüber-Gruppe von schnellen Arbeitsplatz-房地产von 250 Kbits / Sekunde ISSCO 软件接收到的最佳信息10兆赫 会议纪要:ultitec :一个。 (串流模式/ Einmaldurch- au em neuen Bar 66、3000 Bern 22, 电话4 lauf)。 Die drei weiteren Modelle des C.产品程序 (Irwin 120,125 IBM RT P和325)haben pro Datenkassette .. = sogar eineKapazitätvon 20 MB。死于爱因策尔恩 Underscheiden AT A l l sich jeweils in der Uebertragungsge- von pica schwindigkeit,Gerätegrösse和Die Freigabe的32位工作环境 der Art des Aufbaus(Einbauoder |车站von IBM(amerikanische Die (位于Peripherie-Gerät的个人计算机),IBM RT PC) erfolg- |意甲APICAL埃菲尔·艾伦·本·恩登·鲍尔 (欧文|特尔斯特·库尔兹利希。舍恩·梅尔代|安福德格根,死了 ei- 120和125)werden wiederum di- | MULTITEC,总价- IBM-AT Kompatiblen gesturet的个人计算机Elop- 小型计算机| werden。 Und mehr。 Sie sind nicht py-Kontroller angeschlossen。 die死verbriteten Grafik-软件-| nur kompatibel,sondern,wie Datentransferrate dieser beiden Ge- | Pakete disSPLA,TELL-A-GRAF,| es sichfüreinen Rechner derrätebei 500 Kbits / Sekunde liegt,| TELLAPLAN和CUECHART | Spitzenklasse gehört,obendrein werden在nur knapp neun中死了20 MB |杰夫·奥赫·奥夫 (...)

解决方法

找到了解决方案。 Tesseract有很多我从未听说过的选择。您必须首先以正确的方式设置引擎。

deu <- tesseract(language = "deu",options = list(tessedit_pageseg_mode = 1))
text <- ocr(file,engine = deu)

仍有改进的潜力,但现在看起来好多了。