这两个数据集的答案是带有一些后处理的 OCR 应用程序,但它是一个比通用低质量或开源 OCR 更专业的程序。本质上,问题越难,就越需要使用更强大和更先进的工具来解决它。
该任务将有两个主要阶段:将数据数字化(图像到文本,即 OCR)和处理数据(执行实际计数)。分别查看它们,以便为每个阶段选择最佳方法。
这些图像和通用 OCR 的主要挑战是:
a) 图像分辨率低。例如,#1 图像的分辨率约为 72 dpi。此类文本质量的建议分辨率为以 300 到 400 dpi 扫描,但很明显,现在重新扫描或控制扫描分辨率不适用。这就是为什么一种选择是使用图像预处理工具清理和增加尺寸的原因。这是自适应二值化并放大 300% 后的原始 #1 图像片段的样子。很明显,每个字符的像素太少,字符很容易被误读。

b) 许多 OCR 应用程序不支持 #1 中的 GIF 格式。图像需要批量转换为不同的格式,例如 PNG 或 TIF。
c) 在这些扫描中,可以看到背景和透色(纸张另一面文本的阴影)。需要使用良好的二值化来去除背景和渗透,但不能去除实际字符的重要部分。
在对上面列出的项目实施特定的预处理解决方案后,然后使用高质量的 OCR 系统,例如 www.ocr-it.com API,可以获得尽可能高的结果。结果远非完美,但它与现代 OCR 引擎在这些图像上所能达到的精度一样高。

幸运的是,该项目需要对数据进行统计,因此第二阶段拥有可靠数据后处理分析所需的所有数据。与其他基本的 OCR 引擎相反,我使用www.ocr-it.com API 提供的 OCR 来产生上述识别。OCR-IT API 可以免费开发,并且每页使用成本非常低,因此对于这个项目来说,这可能是一个非常经济但功能强大的解决方案。它返回格式化的文本布局,包括保留换行符和整体格式结构。这使得文本后处理更容易。
可以运行一个简单的算法来计算行数,从而产生必要的研究计数。
上面描述了一个两阶段的方法:获得最佳的 OCR 结果,并使用适用的方法处理所需任务的数据
等等,还有更多……
还有第二种选择是使用更专业的 OCR 应用程序,称为FlexiCapture和 FlexiLayout 技术。这种强大而智能的数据捕获技术具有内置的高精度 OCR,它具有强大的规则和数据分析引擎,可以执行非常专业的用户定义的动作和任务链。
使用带有 FlexiLayout 的 FlexiCapture 实现此方法需要以下逻辑步骤。
首先,进行整页 OCR 并提取所有对象,包括字符、噪声、黑色横竖线、白色间隙和对象(可能是图片、徽标、手写等)。这会产生我们可以应用搜索条件的对象。
接下来,将以下约束应用于后 OCR 数据分析和搜索条件:将图像分成三个垂直列,每列运行以下逻辑,使用 line-start 作为单独计数,跳过页眉/页脚/缩进行(县名),假设每个名称至少包含三个字符,在每列中从上到下递归查找每个名称,排除先前找到的行。
虽然上述逻辑设置起来听起来很复杂,但实际设置只需要几分钟,并且需要通过用户界面 (UI) 环境进行最少的工作。无需编码或编程。已创建以下搜索元素和条件。

由 CharacterString 搜索对象组成的 RepeatingGroup。
此设置为第一列数据生成以下搜索结果:

作为最后一步,FlexiCapture 被指示返回符合我们搜索条件的总找到元素的数量,从而有效地为研究任务生成必要的数据。
在 FlexiCapture 中可以设置其他逻辑替代方案,例如查找行间空白的数量,或在每列线的末尾搜索固定长度、固定位置的 3 字母组合。
总之,有几种选择(总是很好)如何以相对轻松的努力和高质量来完成这项任务,但成功取决于所用工具的质量和如何使用它们的必要知识。
如果您认为其中一些工具和流程对您的项目有益,请直接与我联系。我专注于这些工作流程。伊利亚@WiseTREND。我的公司可能会提供设置或指导方面的帮助。我们参与了各种研究计划,其中一些是通过捐赠给一个好的事业。