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

时间:2012-08-12 16:03:55

标签: python ocr tesseract

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

from pytesser import *
image = Image.open('fnord.tif') 
print image_to_string(image)     

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

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

有什么我想念的吗?

1 个答案:

答案 0 :(得分:1)

如果您担心噪音是否有问题,请在MSPaint或类似设备中手动打开图像,消除噪音,然后通过OCR运行新图像。这是了解OCR引擎如何工作以及混淆和不混淆的最佳方式。每个OCR引擎的工作方式都不同。

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

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

屏幕字体对OCR引擎构成了巨大挑战,因为DPI通常非常低。在你的'E'的情况下,应该有足够多的像素被识别。重型行程重量可能会使发动机混乱。

此外,商用发动机通常比Tesseract更准确,但也会收取昂贵的许可证费用。