algorithm - OCR:根据最后 N 个结果选择最佳字符串(OCR 自适应过滤器)

标签 algorithm ocr string-matching fuzzy-comparison

我见过一些关于在给定不同引擎输出的情况下确定最佳 OCR 结果的问题,答案通常是“选择最佳引擎”。 但是,我想捕获几帧文本图像,可能会出现临时遮挡或临时故障。 我将 tesseract-ocr 与 python-tesseract 结合使用。

考虑到最后 N 帧的 OCR 输出,我想决定什么是最好的结果(为简单起见,逐行)。

例如,对于 N=3,我们可以使用中值过滤:

ABXD
XBCX
AXCD

当 3 个字符中有 2 个相同时,大多数人获胜,因此结果为 ABCD。 但是,对于不同的字符串大小,这并不容易。如果我期望给定大小 M(如果扫描价格表,行通常是 XX.XX),我总是可以对大于 M 的字符串进行惩罚。

如果我们谈论数字,中值过滤(计算机视觉中的简单背景减法)或一些最小均方自适应过滤会非常有效。 还有相似字符的问题:l1 可能非常相似,具体取决于字体。

我还考虑在每个字符串之间使用字符串距离。例如,选择与其他字符串的距离之和最小的字符串。

有没有人解决过这类问题?对于此类问题,是否有任何我应该知道的已知算法?

最佳答案

此问题称为多序列比对,您可以阅读相关内容 here

关于algorithm - OCR:根据最后 N 个结果选择最佳字符串(OCR 自适应过滤器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9930273/

相关文章:

algorithm - 仅使用两个变量交换两个数字

javascript - 将 CSS 样式(或类)添加到组件中 React 对象数组的每个元素

android - Android Studio 中 Tesseract 的使用

c# - OCR线检测

windows - RobotFramework:SikuliLibrary:设置 Ocr 文本读取,获取文本关键字不起作用

python - 正则表达式搜索和查找

language-agnostic - 对字符串匹配的质量进行评级

algorithm - 网格中旅行商的多项式时间算法

java - 给定 n 个叶子生成所有可能的二叉树

python - Pandas - 检查数据帧列是否包含键 :value pairs from a dictionary