spr*_*ksh 10 ocr tesseract python-imaging-library python-3.x pytesser
所以我试图从图像中提取文本.而且由于图像的质量和尺寸不佳,它会产生不准确的结果.我用PIL尝试了一些增强功能和其他功能,但这只会降低图像质量.
有人可以建议图像的一些增强,以获得更好的结果.几个图像的例子:
在提供的图像示例中,文本在视觉上具有相当好的质量,因此问题是OCR如何提供不准确的结果?
为了说明这个答案的进一步文本中给出的结论,让我们运行给定的图像
通过Tesseract.低于Tesseract OCR的结果:
"fhpgearedmomrs©gmachom"
Run Code Online (Sandbox Code Playgroud)
现在让我们调整图像大小四次并对其应用阈值.我已经在Gimp中手动完成了大小调整和阈值处理,但是通过适当的调整大小方法和PIL的阈值,它可以确保自动化,因此在增强后你会得到一个类似于我所获得的增强图像的图像:
通过Tesseract OCR运行的改进图像提供以下文本:
"fhpgearedmotors©gmail.com"
这表明放大图像有助于在所提供的文本图像示例上实现100%的准确性.
放大图像有助于实现更好的OCR精度可能看起来很奇怪,但是... OCR被开发用于将打印介质的扫描转换为文本并且期望通过设计预期300dpi的文本图像.这解释了为什么有些OCR程序没有自己调整文本大小以改善其结果,并且对于希望通过放大可以实现更高的图像dpi分辨率的小字体做坏事.
以下是github.com 上Tesseract FAQ的摘录,其中包括上述声明:
[ 文本大小最小,合理的准确性.你必须考虑分辨率和点大小.精度降至10pt x 300dpi以下,迅速低于8pt x 300dpi.快速检查是计算角色x高度的像素.(X高度是小写字母x的高度.)在10pt x 300dpi时,x高度通常约为20像素,尽管这可能因字体而异.在10像素的x高度以下,您获得准确结果的可能性很小,而在大约8像素以下,大部分文本将被"消除噪音".
归档时间: |
|
查看次数: |
3899 次 |
最近记录: |