pytesser成功率低?这是一个噪音问题,还是还有其他需要做的事情?

Zac*_*ack 6 python ocr tesseract

我正试图从屏幕截图中检测出一些大写字符.我用PIL将它转换为黑白,然后使用PyTesser页面中的代码示例,我在图像上运行tesser.exe:

from pytesser import *
image = Image.open('fnord.tif') 
print image_to_string(image)     
Run Code Online (Sandbox Code Playgroud)

我正在使用这个图片: http://i.imgur.com/so419.png

但它并不认为它是E,或者说它真的是什么东西.我认为这是一个足够干净的捕获?顶部的噪音并没有把它扔掉,对吧?

有什么我想念的吗?

And*_*ash 1

如果您担心噪声是否是一个问题,请在 MSPaint 或类似工具中手动打开图像,消除噪声,然后通过 OCR 运行新图像。这是了解 OCR 引擎如何工作以及什么会让人困惑、什么不会让人困惑的最佳方式。每个 OCR 引擎的工作方式都不同。

在这种情况下,小噪音也可能会混淆字符分区过程。您应该检查从 OCR 引擎返回的边界框值,看看 OCR 引擎是否在正确的位置查找您的单词或字符。

某些 OCR 引擎可以选择在 OCR 过程中消除图像中的噪声。这通常称为去斑或噪声去除。使用 Leptonica ( http://www.leptonica.org )可以消除噪声,它现在是最新 Tesseract 图像的一部分。

屏幕字体对 OCR 引擎提出了巨大的挑战,因为 DPI 通常非常低。对于“E”,应该有足够多的像素可供识别。过大的冲程重量可能会让发动机感到困惑。

此外,商业引擎通常比 Tesseract 更准确,但也会带来昂贵的许可费。