【问题标题】:removing noise from document images从文档图像中去除噪声
【发布时间】:2011-12-30 18:52:16
【问题描述】:

我正在开展一个自动处理扫描发票的项目。为了获得更好的 OCR 引擎结果,我想首先从图像中去除噪声。除了划痕,我还想删除打印后添加到文档中的任何内容。许多发票,例如被勾选,有时它会使部分发票无法通过 OCR 读取。

例如查看this 图像。第二项的描述将无法阅读,我想像这样删除“噪音”。

那么,我怎样才能在删除这样的手写区域的同时仍然保持下面的打印文本的高质量呢?

【问题讨论】:

  • 祝你好运,真的是一项艰巨的任务,可能是你可以检查字符和其他可能的输入模式并删除额外的数据,或者通过morphology在启动时删除一些噪音,但很难做到全部。
  • 这很难。对于您的客户/客户/雇主来说,最好先使用数字化处理的发票,这样您就不会遇到这个问题,或者使用带有条形码的发票。

标签: algorithm language-agnostic image-processing noise


【解决方案1】:

只需忽略任何不具有一定颜色强度的像素,就可以很容易地过滤掉划痕和其他斑点。

你有三种处理线条的选择:

  1. 第一个重要问题,手写体是用不同的颜色书写的吗?一个简单的解决方案是给每个人蓝色或红色的笔,并禁止使用黑色的笔。然后,您可以用彩色扫描文档,然后您可以轻松地将绿色缓冲区用作灰度图像,而不是所有三个缓冲区。这将是实现这一点的最简单方法,现在几乎所有扫描仪都支持彩色扫描。

  2. 否则你将不得不编写一个算法来检测 图像中的线条,为此,您需要先 校准算法以首先知道a的大小是多少 通常是字符,然后找到任何比 X 长的行 像素,然后从那里删除线。这将是一个非常有问题的问题,并且对您来说效果不佳,并且您将花费很长时间尝试使其正常工作,但它仍然永远不会 100%。

  3. 另一种方法是,在完成 OCR 之后,您应该展示您的 数据给最终用户以验证其正确性,然后您可以呈现 他们用扫描的图像,并允许他们覆盖什么 如果不正确,请扫描。

在这三个选项中,我想说你最好的选择就是防止人们用黑笔在发票上写字。如果您不能这样做,请尽可能扫描文档并将其提供给最终用户以澄清有问题的字段(您甚至可以将它们标记为问题,这样用户就不需要检查整个文档时间)。

编辑:值得指出的一件事是,如果您收到的文件是写在上面然后传真的,那么除了选项 3 之外,您将无法对它们做很多事情(试试您的最好,然后呈现给用户)。

【讨论】:

    【解决方案2】:

    这是一项复杂的信号处理任务,需要一种复杂的算法来利用一些区分手写笔记和印刷文本的特性(例如,标记的宽度、手写笔记与印刷文本相比的曲率)文本,甚至可能是墨水的阴影)。

    可能比您要查找的信息更多,但您甚至可以训练学习算法来过滤掉不需要的标记。

    【讨论】:

      猜你喜欢
      • 2014-05-22
      • 2023-04-05
      • 1970-01-01
      • 2021-08-16
      • 2019-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      相关资源
      最近更新 更多