关于this问题和this问题,我问如何下载数千个PDF
并处理它们以OCR
提取文本,我正在点击在增强文本输出时再次出现一堵砖墙。
我有兴趣提取一堆PDF
的文本,以便在文本中搜索姓氏(我不一定能够阅读文本的其余部分)。 PDF
代表旧报纸文章,发表于1810年至1832年,并以German Fraktur撰写。对于tesseract
,此字体似乎特别具有挑战性。
问:如何进一步提高tesseract
的图像质量 - 至少 - 是否需要更改文本中的姓氏?你会建议哪种程序?
如果我们以this pdf为例,我在申请时会收到以下图片
convert -colorspace GRAY -resize 3000x -units PixelsPerInch example.pdf example-page.jpg
如果我现在使用tesseract
和
tesseract --tessdata-dir /usr/local/share/tessdata/ -l deu_frak example-page.jpg example-page.txt
它会在该图像上表现糟糕,仅检测到大约360个变音符号。我的文字输出完全是乱码。
当我使用Fred的ImageMagick脚本textcleaner时,应用
textcleaner -g -e stretch -f 25 -o 10 -u -s 1 -T -p 10
或
textcleaner -g -e stretch -f 25 -o 20 -t 30 -u -s 1 -T -p 20
我得到这样的东西
当我再次使用上面提到的命令再次运行tesseract
时,生成的文本要好得多(检测到大约700-800个变音符号),但仍然不能找到文本的大多数姓氏。
我知道示例页面是一个特别困难的页面,然而,即使页面不是墨似的打印而且不会开始倾斜,在使用tesseract
和tesseract
处理时,会产生大部分乱码输出和难以辨认的姓氏以上命令。
例如此页面
问:如何进一步提高$map
的图像质量 - 至少 - 是否需要更改文本中的姓氏?你会建议哪种程序?
修改 我不知道,是否需要训练tesseract或处理给定的德语Fraktur字体是一个好主意,因为GUI框编辑器似乎在MacOS上可靠地运行,例如,参见jTessBoxEditor,Qt-box-editor,或Tesseract-Box-Editor,我也不了解如何训练tesseract,请参阅tesseract培训维基here和另一个教程here。
答案 0 :(得分:1)
我的父亲在他的旧剪报中遇到了类似的问题,我通过使用GhostScript预处理然后应用Tesseract取得了相当不错的成功。你的旅费可能会改变。我的命令(Windows)是
set nm=%1
set d=%2
"C:\Program Files\gs\gs9.21\bin\gswin32.exe" -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pgmraw -r150 -dTextAlphaBits=4 -sOutputFile="%nm%-%%00d.pgm" %nm%.pdf
echo. 2>"%nm%.txt"
for %%f in (%nm%*.pgm) do (
echo %%~nf
"C:\Program Files\Tesseract-OCR\tesseract.exe" "%%~nf.pgm" "%%~nf"
cat "%%~nf.txt" >> "%nm%.txt"
del "%%~nf.pgm"
del "%%~nf.txt"
)
"C:\Program Files\Microsoft Office\Office11\winword.exe" "%nm%.txt"
编辑:对评论的回应
首先,在你的mac上安装ghostscript。见https://wiki.scribus.net/canvas/Installation_and_Configuration_of_Ghostscript#Installing_Ghostscript_on_Mac_OS_X
然后做
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pgmraw -r150 -dTextAlphaBits=4 -sOutputFile='paper-%00d.pgm' paper.pdf
这将创建光栅化文件paper-01.pgm,paper-02.pgm等(这是因为你的pdf有多个页面)。你可以更换"纸张#34;使用原始pdf的基本名称。你也可以搞乱这个决议。可以在https://ghostscript.com/doc/9.19/Use.htm
找到该内容和其他内容然后在每个pgm文件上使用tesseract。