【发布时间】:2023-12-24 08:05:01
【问题描述】:
如何以正确的方式处理使用tesseract(预处理或通过特殊的tesseract配置)识别字符分隔符内的文本,尤其是梳型(第三张图片),如下面的这三张图片:
https://i.stack.imgur.com/Jb5Qd.png
https://i.stack.imgur.com/GhzCa.png
https://i.stack.imgur.com/rI4c1.png
1) 我尝试对其执行 OCR 的特定图像如下所示。 图像清晰、分辨率高且无噪点。如果我将此图像直接输入 tesseract(尝试了几乎所有页面段模式),输出如下:
1
11, 9;9j1 | 0,7 4142 |
正如观察到的,这些数字是正确的 OCRed 并且显示为提取文本的子集。但是,分隔符也被识别为“1”、“”、“7”、“4”、“|”。预期输出为 1992 07 12。
2) 我是图像识别的新手。图像预处理是 OCR 之前的重要步骤。我已经尝试从左侧、底部和右侧填充以删除字符分隔符。这个概念取自这里:https://www.learnopencv.com/filling-holes-in-an-image-using-opencv-python-c/ 尽管此解决方案适用于此特定图像,但绝对不是通用解决方案。由于这些字符分隔符在多种形式中都很常见,因此必须有一种提取文本的好方法。
3) 我试过谷歌搜索,但在结果的前 10 页中找不到任何可靠的东西(不相关的主题上有很多噪音)。我的搜索词是“tesseract 字符分隔符”。糟糕的结果可能是由于搜索词的选择不当,这与 CV 社区使用的不同。
4) 我试过abbyy Finereader,文本识别没有问题。但是,此应用程序是付费和封闭源代码的。
【问题讨论】:
-
@GhostCat 我改进了我的帖子,希望有人能给我一些方向/建议。互联网上与识别字符分隔符内的字符相关的信息严重缺乏。这意味着可能做错了什么,这就是我发布这个问题的原因。除了我更新的信息之外,我不确定还需要提供哪些其他信息。如果您有任何建议,请发布更新。
-
我觉得现在看起来好多了!祝你好运!
-
不应该是“1991 07 12”吗?
标签: computer-vision ocr tesseract python-tesseract