我一直在使用tesseract将文档转换为文本。文档的质量参差不齐,我正在寻找关于哪种图像处理可以改善结果的提示。我注意到,高度像素化的文本--例如传真机生成的文本--对于tesseract来说尤其难以处理--大概所有这些字符的锯齿状边缘都会让形状识别算法感到困惑。
什么样的图像处理技术可以提高精度?我一直使用高斯模糊来平滑像素化的图像,并看到了一些小的改进,但我希望有一个更具体的技术,可以产生更好的结果。比方说,一个调整为黑白图像的过滤器,它将平滑不规则的边缘,然后是一个过滤器,它将增加对比度,使字符更加清晰。
对于图像处理方面的新手,有什么一般的建议吗?
发布于 2012-07-25 02:45:55
我绝对不是一个光学字符识别专家。但是这周我需要把文本转换成jpg格式。
我从一个彩色的RGB 445x747像素的jpg开始。我立即尝试了tesseract,程序几乎什么都没有转换。然后,我进入GIMP并执行以下操作。image>mode>grayscale image>scale image>1191x2000像素filters>enhance>unsharp掩码的值为半径= 6.8,数量= 2.69,阈值=0,然后我以100%的质量保存为新的jpg。
然后,Tesseract能够将所有文本提取到一个.txt文件中
基普是你的朋友。
发布于 2013-05-28 04:43:48
这有点早了,但它仍然可能是有用的。
我的经验表明,在将图像传递给tesseract之前,在内存中调整其大小有时会有所帮助。
尝试不同的插值模式。https://stackoverflow.com/a/4756906/146003的帖子对我帮助很大。
发布于 2014-03-21 18:39:03
在这方面对我帮助极大的是Capture2Text项目的源代码。http://sourceforge.net/projects/capture2text/files/Capture2Text/。
顺便说一句,感谢它的作者分享了这样一个费力的算法。
要特别注意文件Capture2Text\SourceCode\leptonica_util\leptonica_util.c --这是这个实用程序的图像预处理的本质。
如果要运行二进制文件,则可以在Capture2Text\Output\文件夹中检查该过程之前/之后的图像转换。
附注:提到的解决方案使用Tesseract进行OCR,使用Leptonica进行预处理。
https://stackoverflow.com/questions/9480013
复制相似问题