![如何训练 tesseract 忽略拼写和语法错误检测添加的波浪线?](https://linux22.com/image/1518528/%E5%A6%82%E4%BD%95%E8%AE%AD%E7%BB%83%20tesseract%20%E5%BF%BD%E7%95%A5%E6%8B%BC%E5%86%99%E5%92%8C%E8%AF%AD%E6%B3%95%E9%94%99%E8%AF%AF%E6%A3%80%E6%B5%8B%E6%B7%BB%E5%8A%A0%E7%9A%84%E6%B3%A2%E6%B5%AA%E7%BA%BF%EF%BC%9F.png)
我正在使用 tesseract 检测各种图像类型中的文本,包括屏幕截图,但它被表示拼写和语法警告的波浪形红色和蓝色下划线搞糊涂了,如下例所示。最终我得到的要么是没有文本,要么是乱码。
我研究过在 imagemagick 预处理中消除这些线条的方法,并取得了一些成功,但这些方法会抹去任何红色或蓝色的文本,这是不理想的 - 而且它们需要很长时间才能运行,而我每天需要处理超过 10 万张图像。我在想也许有一种方法可以训练 tesseract 识别和丢弃这些线条,但我不确定它如何工作。
我看过关于如何训练 tesseract 识别文本的教程,但我还没有看到任何关于如何训练识别非文本内容的教程。有没有办法训练 tesseract,或者利用它使用的 Leptonica 设置来忽略这些行?
如果有人成功解决了这个问题,请告诉我,否则推荐的方法是什么?
答案1
我目前正在尝试学习如何教授 tesseract(我不知道如何创建 lstm 文件进行训练),但我知道你可以对训练过的数据进行微调。我使用jTessBoxEditor为了纠正 tesseract 在 OCR 过程中所犯的错误,我还没有找到以训练的形式实现更改的方法,但我认为该工具正是您所需要的。
使用 jTessBoxEditor,您可以看到图片上的 OCR 是如何完成的,也可以对其进行编辑,但我仍然不知道如何实施训练(仍在等待论坛和这里的回复),所以我无法提供更多帮助,因为我只能做到这些,而且我也不指望有人能回答您的问题,因为这个问题已经存在 2 年了,所以您的设置可能已经过时了。我正在尝试使用 tesseract-ocr 4.*,新版本的教学发生了很大变化,但工具也在不断发展,因此您的问题可以通过 jTessBoxEditor 解决,但我不知道如何实施,所以这不是真正的答案,而只是部分答案。
我希望我能帮到你,哪怕只是一点点。