zen*_*der 14 python ocr image-processing
我在过去的几个小时里一直在试验PyTesser,这是一个非常好的工具.我注意到有关PyTesser准确性的一些事情:
显然Pytesser并不关心字体尺寸或图像拉伸.虽然有很多关于图像处理和OCR的理论需要阅读,但是在应用PyTesser或其他库之前,是否有任何标准的图像清理程序(除了擦除图标和图像),而不管语言是什么?
...........
哇,这篇文章现在已经很老了.在过去的几天里,我再次开始研究OCR.这次我扔掉了PyTesser并使用了Tesseract引擎和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%.
Run Code Online (Sandbox Code Playgroud)
因此,Tesseract Engine毫无疑问是市场上最好的开源OCR引擎.此处不需要事先清洁图像.需要注意的是,它不适用于包含大量嵌入图像的文件,而且我没有找到一种方法来训练Tesseract忽略它们.此外,图像中的文本布局和格式也有很大的不同.它只适用于带有文本的图像.希望这有帮助.
事实证明,tesseract维基有一篇文章以我能想象到的最好的方式回答了这个问题:
关于“提高[OCR]输出质量”的图解指南。
问题“图像处理以提高 tesseract OCR 准确性”也可能令人感兴趣。
(初步回答,仅供记录)
我没有使用过,但我用(版本:)PyTesser做了一些实验。tesseract3.02.02
如果您在彩色图像上调用 tesseract,那么它首先应用全局Otsu 方法对其进行二值化,然后在二值(黑白)图像上运行实际的字符识别。
图片来自:http://scikit-image.org/docs/dev/auto_examples/plot_local_otsu.html

可见,“全球大津”并不总是能产生理想的结果。
为了更好地理解超正方体“看到”的内容,请将大津方法应用于您的图像,然后查看生成的图像。
总之:提高识别率的最直接方法是自己对图像进行二值化(很可能您会通过反复试验找到好的阈值),然后将这些二值化图像传递给tesseract.
有人好心地发布了tesseract 的 api 文档,因此可以验证之前有关处理管道的语句:ProcessPage -> GetThresholdedImage -> ThresholdToPix -> OtsuThresholdRectToPix
不知道您的意图是否用于商业用途,但这使您想知道您是否在一堆类似的图像上执行OCR。
http://www.fmwconcepts.com/imagemagick/textcleaner/index.php
原版的

经过给定参数的预处理。

| 归档时间: |
|
| 查看次数: |
15803 次 |
| 最近记录: |