首页 > 解决方案 > 识别扫描/拍摄文档上的符号

问题描述

我正在尝试执行以下操作:

  1. 给定:扫描/拍摄的文档 - 由许多不同程序填写的表格。我试图只识别一小部分数据。如此处所示: 在此处输入图像描述

所有符号都是数字,除了最顶部字段中的第一个是字母。

  1. 问题是我尝试了 tessaract 和 google ml OCR,但结果很差,可能是因为它是单元格中的单个符号,而不是普通文本。我不知道。

  2. 所以我决定尝试我自己的简单识别模块。

a)然后我将其转换为灰度和黑白

b)不幸的是,不能保证每次都在完全相同的地方。由于扫描/照片,它们的尺寸也不相同。

所以我动态地试图找到字段的位置。但是在我收到的测试照片上,没有保证线条是直的。此外,扫描/拍摄的分辨率并不总是相同的。

如果有人可以就以下问题给我建议,那就太好了:

  1. 动态查找字段。(目前我的成功率约为 50%,具体取决于照片)

  2. 如何处理非直线。

  3. 如何检测单个单元格内容/符号。

  4. 识别单个符号/数字/的好方法(比较来源等)

  5. 也许是一个更好的黑白转换,而不是一个简单的阈值。

标签: algorithmocr

解决方案


在识别之前尝试删除数字周围的矩形框。通过关闭/打开等形态学操作,可以关闭图片底部的边框,从而节省数字。

convert input.jpg  -threshold 90% -fuzz 25% -fill black -floodfill +0+0 white -fill white -floodfill +0+0 black out.png

在此处输入图像描述


推荐阅读