通过pytesseract&PIL提高文本识别的准确性

所以我试图从图像中提取文本。 而且由于图像的质量和尺寸不好,它会给出不准确的结果。 我用PIL尝试了一些增强功能和其他东西,但这只会加剧图像的质量。

有人可以建议一些图像的增强,以获得更好的结果。 几个图像的例子:


在提供的图像示例中,文本的质量很好,所以问题在于OCR如何提供不准确的结果?

为了说明在这个答案的更多文本中给出的结论,让我们运行给定的图像

通过Tesseract。 在Tesseract OCR的结果下面:

"fhpgearedmomrs©gmachom"

现在让我们调整图像四次并应用阈值。 我已经在Gimp中手动完成了大小调整和阈值设置,但是通过适当的调整大小方法和PIL的阈值,它可以确保自动化,以便在增强后获得类似于我获得的增强图像的图像:

通过Tesseract OCR改进后的图像提供以下文字:

“fhpgearedmotors©gmail.com”

这表明放大图像可以帮助在提供的文本图像示例中实现100%的准确性。

放大图像有助于实现更好的OCR准确性似乎很奇怪,但是... OCR被开发用于将印刷媒体的扫描转换为文本,并期望通过设计获得300dpi的文本图像。 这就解释了为什么一些OCR程序没有自行调整文本大小以改善结果,并且为了能够通过放大而实现图像的更高dpi分辨率的小字体做得不好。

这里摘录来自github.com上的Tesseract常见问题解答,提供上述声明:

[ 对于合理的准确性,最小文本大小 。 你必须考虑分辨率和点大小。 准确度下降到10pt x 300dpi以下,迅速低于8pt x 300dpi。 快速检查是计算角色的x高度的像素。 (X高度是小写字母x的高度)。在10pt x 300dpi x高度通常约为20像素,尽管字体可能会有很大差异。 在10像素的x高度下,准确结果的可能性很小,低于大约8像素时,大部分文字将被“去除噪音”。]

链接地址: http://www.djcxy.com/p/96035.html

上一篇: Increase Accuracy of text recognition through pytesseract & PIL

下一篇: Autocomplete von available CSS classes in HTML JavaScript jQuery in Eclipse