如何在正确的方式下处理Tesseract中字符分隔符内的文本(通过预处理或特殊的Tesseract配置),特别是像下面这三张图片中的梳子状(第三张)图像:
https://istack.dev59.com/Jb5Qd.webp
https://istack.dev59.com/GhzCa.webp
https://istack.dev59.com/rI4c1.webp
1) 我尝试进行OCR的特定图像如下所示。
该图像清晰,分辨率高且没有噪音。如果我直接将此图像输入tesseract(尝试了几乎所有页面段模式),输出结果如下:
1
11, 9;9j1 | 0,7 4142 |
观察发现,数字已经正确地被OCR识别并显示为提取的文本子集。然而,分隔符也被识别为"1"、","、"7"、"4"和"|"。期望的输出结果是1992年07月12日。
2) 我对图像识别还很陌生。在OCR之前,图像预处理是一个重要的步骤。我尝试了从左侧、底部和右侧进行漫水填充以删除字符分隔符。这个概念来自于这里:https://www.learnopencv.com/filling-holes-in-an-image-using-opencv-python-c/。虽然这个解决方案对于这个特定的图像有效,但它显然不是通用解决方案。由于这些字符分隔符在许多表单中都很常见,必须有一种好的方法来提取文本。
3) 我已经尝试过谷歌搜索,在前10页的结果中没有找到任何可靠的信息(有很多与无关主题相关的噪音)。我的搜索词是"tesseract character separator"。结果不佳可能是由于选择的搜索词与CV社区使用的不同。
4) 我已经尝试了abbyy finereader,文本识别没有问题。然而,这个应用程序是收费且闭源的。