Tesseract OCR中使用了什么阈值(二值化)算法



我正在进行一个项目,该项目需要为背景丰富的图像提供准确的OCR结果。因此,我正在比较两个OCR(其中一个是Tesseract)的结果,以做出我的选择。重点是预处理步骤特别是图像二值化对结果有很大影响。我提取了另一个OCR的二值化图像,并将其传递给Tesseract,这将Teseract的结果增强了30-40%。

我有两个问题,你的回答对我有很大帮助:

  1. tesseract使用什么二值化算法,它是可配置的吗
  2. 有没有一种方法可以提取Tesseract OCR的二进制图像,这样我就可以用它测试其他OCR了

提前感谢:)

我想我已经找到了问题的答案:

1-使用的二值化算法是Otsu阈值。你可以在这里179行看到。

2-为了获得二值化图像,tesseract api中的一种方法可以称为:

PIX* thresholded = api->GetThresholdedImage(); //thresholded must be freed

Otsu阈值是一个全局滤波器。您可以使用一些本地筛选器来获得更好的结果。你可以在这里找到索瓦洛的二进制化,或者尼克在这里。这两种算法都是Niblack的改进。我用它来二进制化我的图像进行OCR,我得到了更好的结果祝好运

最新更新