Tesseract最佳图像输入类型是什么?

20

我正在一个项目中使用tesseract,想知道哪种图像输入类型能够给出最佳的输出结果。二进制和TIFF是最佳输入方式吗?还是还有其他更好的选择?

4个回答

12

过去我在类似的任务中使用TIFF获得了出色的结果。当时我使用OpenCV进行了一些预处理,并将结果导出到了TIFF文件中,后来传输给了tesseract。效果很不错。


5

我发现TIFF格式比JPG格式提供更出色的效果,而且在所有其他类型中也是最好的。

原始的Tesseract软件仅支持TIFF文件,这让我相信它是最合适的。


0
使用 .tif 的优点是 (1) scantailor 输出 .tif 文件,(2) 可以使用 tiffcp 将单个 .tif 合并成一个多页文件,然后将其输入到 tesseract。困难在于,如果您让 tesseract 输出 .pdf,则无法控制所创建的 .pdf 类型。使用 pdfimages -list,我发现它输出了一种同时具有与输入相同 dpi 的 .ccitt 和 .jpeg 的组合。然后,尝试使用 imagemagic 将其转换为较低 dpi 或其他压缩会产生不良结果。
我找到的替代方法是首先使用 imagemagic 将所有 .tif 转换为 .png。然后逐个将 .png 输入 tesseract,为每个 .png 生成一个 .pdf。在这种情况下,.pdf 现在包含光栅图像。然后可以使用 imagemagic 将它们组合并重新编码。
我唯一能看到的缺点是,如果 tesseract 在 OCR 文档时正在学习(我不知道是否是这样,但可能是),那么我们希望一次性给它整个文档而不是一页一页地给它。

0
我发现使用上述提到的tif文件
pdfimage -tiff in.pdf page ; 
convert page-*.tif document.tif ; 
tesseract document.tif document --psm 1 --oem 1 pdf 

比使用PNG慢得多(约20%):
pdfimages -png in.pdf page ; 
for png in *.png; do 
   tesseract... ; 
done ;  
pdfunite page*.pdf document.pdf 

但是生成的PDF文件要大得多。
Measured on MAC M1 (10CPU) - 3456x4704 400dpi pages 6 ocr's in parallel

    TIF: Time: 1466 Pages: 2520 Docs: 100 Sec/Page: 0.581746
    PNG: Time: 2703 Pages: 5620 Docs: 180 Sec/Page: 0.480961 
 TIFFCP: Time: 1957 Pages: 4768 Docs: 269 Sec/Page: 0.410445

(更新:用tiffcp替换convert确实有所不同——我撤回我之前的评论)

不确定,mutool是muPDF的一部分,对吧?它似乎相当庞大且复杂。有人有关于它的性能数据吗? - undefined
好的,快速检查一下,在一台古老的AMD 8核处理器上使用mutool进行测试:对于我的特定文件,使用mutool需要7秒,使用pdfimage -tiff只需要0.7秒,而使用pdfimages -png则需要6秒(大约20页,3296 x 4677像素,400dpi黑白图像)。 也许真正的关键在于,看看你的图像并尝试一下... - undefined
最后,对于扫描来说,问题出在这里:convert -density 300 -trim -quality 70 -flatten -sharpen 0x1.0 -deskew 40% -set option:deskew:auto-crop 10 这个步骤是瓶颈所在,对整个过程产生了巨大影响。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接