OCR纠错算法

And*_*ton 21 algorithm ocr error-correction

我正在努力将大量扫描文档数字化,使用Tesseract 3作为我的OCR引擎.其输出的质量是平庸的,因为它通常在实际文本之前和之后产生垃圾字符,并且在文本中产生拼写错误.

对于前一个问题,似乎必须有策略来确定哪些文本实际上是文本,哪些文本不是(大部分文本都是人的名字,所以我正在寻找除了查找单词之外的解决方案字典).

对于拼写错误的问题,大多数错误源于一些错误的字母分类(例如,替换l,1并且I相互替代),似乎应该有猜测哪些单词拼写错误的方法(因为没有太多的单词)英语中间有一个"1",并猜测适当的修正是什么.

这个领域的最佳实践是什么?是否存在执行此类操作的算法的免费/开源实现?谷歌已经收到了很多论文,但并没有太多具体内容.如果没有可用的实施,那么多篇论文中的哪一篇将是一个很好的起点?

小智 13

对于"确定哪些文本实际上是文本而哪些文本不是",您可能希望rmgarbage从开发Tesseract(ISRI)的相同部门查看.我编写了一个Perl实现,还有一个Ruby实现.对于我正在尝试的1对l问题ocrspell(同样来自同一部门),他们的原始资源可用.

我只能发布两个链接,所以缺少的是:

  • ocrspell:在dx.doi.org输入"10.1007/PL00013558"]
  • rmgarbage:搜索"自动删除OCR文本中的垃圾字符串:实现"
  • ruby实现:搜索"docsplit textcleaner"


Jor*_*bot -1

对您可能有用的方法是尝试这个免费的在线 OCR并将其结果与您的结果进行比较,看看通过处理图像(例如放大/缩小)是否可以改善结果。

我用它作为我自己使用 tesseract 时应该得到的结果的“上限”(在使用 OpenCV 修改图像之后)。