gpt4 book ai didi

python - OCR应用前图像清洗

转载 作者:太空狗 更新时间:2023-10-29 17:18:59 25 4
gpt4 key购买 nike

过去几个小时我一直在试验 PyTesser,它是一个非常好的工具。关于 PyTesser 的准确性,我注意到几件事:

  1. 包含图标、图片和文本的文件 - 5-10% 的准确度
  2. 只有文本的文件(图像和图标已删除)- 50-60% 准确
  3. 拉伸(stretch)文件(这是最好的部分)- 拉伸(stretch)文件在 2) 以上的 x 或 y 轴上,精度提高了 10-20%

很明显,Pytesser 不处理字体尺寸或图像拉伸(stretch)。尽管有很多关于图像处理和 OCR 的理论需要阅读,但在应用 PyTesser 或其他库之前,是否有任何标准的图像清理程序(除了删除图标和图像)需要完成,无论语言如何?

......

哇,这篇文章现在已经很老了。这两天又开始研究OCR了。这次我放弃了 PyTesser,转而使用 Tesseract Engine 和 ImageMagik。开门见山,这是我发现的:

1) You can increase the resolution with ImageMagic(There are a bunch of simple shell commands you can use)
2) After increasing the resolution, the accuracy went up by 80-90%.

因此,Tesseract Engine 无疑是市场上最好的开源 OCR 引擎。这里不需要事先清理图像。需要注意的是,它不适用于包含大量嵌入图像的文件,而且我想不出一种方法来训练 Tesseract 忽略它们。图像中的文本布局和格式也有很大的不同。它适用于只有文字的图像。希望这对您有所帮助。

最佳答案

事实证明,tesseract wiki 有一篇文章以我能想到的最佳方式回答了这个问题:


(初步回答,仅供记录)

我没有用过PyTesser,但是我用tesseract(版本:3.02.02)做了一些实验。

如果您在彩色图像上调用 tesseract,那么它首先应用全局 Otsu's method对其进行二值化,然后在二进制(黑白)图像上运行实际字符识别。

图片来自:http://scikit-image.org/docs/dev/auto_examples/plot_local_otsu.html

Otsu's threshold illustration

可以看出,“全局 Otsu”可能并不总能产生理想的结果。

要更好地理解 tesseract“看到”的是什么,请将 Otsu 的方法应用于您的图像,然后查看生成的图像。

总结:提高识别率最直接的方法是自己对图像进行二值化(很可能你会通过反复试验找到好的阈值),然后将这些二值化图像传递给立方体

好心人发布了 api docs for tesseract ,所以可以验证之前关于处理管道的声明:ProcessPage -> GetThresholdedImage -> ThresholdToPix -> OtsuThresholdRectToPix

关于python - OCR应用前图像清洗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19639703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com