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

Posted

技术标签:

【中文标题】pytesser 的成功率低?这是噪音问题,还是需要做其他事情?【英文标题】:Low success rate with pytesser? Is this an issue of noise, or is there something else that needs to be done? 【发布时间】:2012-08-09 01:14:04 【问题描述】:

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

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

我正在使用这张图片:

但它不会将其识别为 E,或者其他任何东西。我认为这是一个足够干净的捕获?顶部的噪音不会把它扔掉,对吧?

我有什么遗漏吗?

【问题讨论】:

我已经运行了显示Tesseract Open Source OCR Engine v3.02 with Leptonica 的命令行工具——没有psm 选项——我得到一个空文件。使用 -psm 10 这应该是“将图像视为单个字符” - 我得到 % 后跟两个换行符...... Limiting the characters tesseract looks for 过去帮助过我。 如果您尝试识别的大写字符采用独特的字体类型,如问题所示,那么没有太多理由依赖 tesseract。一些简单的拓扑特征和骨架信息可以直接解决这个问题。 【参考方案1】:

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

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

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

屏幕字体对 OCR 引擎提出了很大的挑战,因为 DPI 通常非常低。在您的“E”的情况下,应该有足够多的像素被识别。沉重的冲程重量可能会使发动机感到困惑。

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

【讨论】:

以上是关于pytesser 的成功率低?这是噪音问题,还是需要做其他事情?的主要内容,如果未能解决你的问题,请参考以下文章

转:我听到的,是内心的“声音”还是“噪音”?

发动机高功率和低功率有啥优缺点?

OSError: [Errno 2] No such file or directory using pytesser

高尔夫7采用的1.4T发动机,纠结买高功率还是低功率,有什么区别呢?

西数硬盘 黑红蓝绿紫不同颜色系列硬盘区别

安装 pytesser