3

我已经看到一些关于根据不同引擎的输出确定最佳 OCR 结果的问题,答案通常是“选择最佳引擎”。但是,我想捕获几帧文本图像,可能会有临时遮挡或临时故障。我将 tesseract-ocr 与 python-tesseract 一起使用。

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

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

ABXD
XBCX
AXCD

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

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

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

以前有没有人解决过这种问题?我应该知道这种问题的任何已知算法吗?

4

1 回答 1

3

这个问题被称为多序列比对,你可以在这里阅读

于 2012-03-29T19:31:32.493 回答