tob*_*obs 6 algorithm ocr error-correction
我试图通过组合来自三个不同OCR系统(tesseract,cuneinform,ocrad)的输出来改进OCR过程的结果.我已经进行了图像预处理(去偏移,去斑,保持等).我不认为这部分可以进一步改进.通常,要识别的文本长度在1到6个字之间.文本的语言是未知的,并且通常它们包含幻想词.我在Linux上.首选语言是Python.
通常每个结果都有一两个错误.但是他们在不同的角色/位置上有错误.错误可能是他们识别错误的字符或者他们包含不存在的字符.他们不经常忽略一个角色.
示例可能以下列方式显示:
Xorem_ipsum
lorXYm_ipsum
lorem_ipuX
Run Code Online (Sandbox Code Playgroud)
AX是错误识别的字符,Y是文本中不存在的字符.空格被"_"替换以获得更好的可读性.
在这种情况下,我尝试结合不同的结果.重复使用三对之间的"最长公共子串"算法,我能够得到给定示例的以下结构
or m_ipsum
lor m_ip u
orem_ip u
Run Code Online (Sandbox Code Playgroud)
但是现在我被困住了.我无法将这些部分组合成结果.
你有没有
这完全取决于您所使用的 OCR 引擎以及您期望获得的结果的质量。您可能会发现,通过选择更高质量的 OCR 引擎,为您提供置信度和边界框,首先会为您提供更好的原始结果,然后提供可用于确定正确结果的额外信息。
使用 Linux 将限制您可用的 OCR 引擎。就我个人而言,与 Windows 下可用的商业 OCR 引擎相比,我对 Tesseract 的评价为 6.5/10。
http://www.abbyy.com/ocr_sdk_linux/overview/ - 不过 SDK 可能并不便宜。
http://irislinktest.iriscorporate.com/c2-1637-189/iDRS-14-------- 识别--图像预处理--Document-formatting-and-more.aspx - 适用于 Linux
http://www.rerecognition.com/ - 提供 Linux 版本。该引擎被许多其他公司使用。
上述所有引擎都应该为您提供比 Tesseract OCR 更好的置信度、边界框和结果。
https://launchpad.net/cuneiform-linux - Cuneiform,现已开源并在 Linux 下运行。这可能是您正在使用的三个引擎之一。如果没有,您可能应该考虑添加它。
您还可能需要查看http://tev.fbk.eu/OCR/Products.html了解更多选项。
您能否提供一两个典型图像样本以及引擎的 OCR 结果。还有其他方法可以提高 OCR 识别能力,但这取决于图像。