如何提高Tesseract的OCR文本的准确性?

时间:2012-07-02 21:19:35

标签: java android android-ndk ocr tesseract

我创建了一个基本应用,用于使用Google的Tesseract API识别文本,并将其与我的相机应用集成。它工作正常,但唯一的问题是准确性,因为有时文本被识别为一组随机字符,我猜准确率约为50%。

此外,当它尝试扫描图像中的四个以上的单词时,应用程序崩溃。

String ocrText = baseApi.getUTF8Text();
baseApi.end();

其中baseApi是Tesseract API类的对象。

我是否需要使用不同的数据结构来保存已识别的文本,还是有其他原因导致超过四个单词无法识别?

1 个答案:

答案 0 :(得分:1)

Tesseract API类提供isValidWord方法来检查字符串是否为有效字。您可以使用它来检查识别的字符。这将提高输出的准确性。

我正在使用Tess4j进行开发这是tesseract-ocr的Java JNA包装器,它在检查后提供了非常好的结果。

不准确的结果可能是由于文字大小,请检查this。它说“准确度下降到10pt x 300dpi以下,迅速低于8pt x 300dpi。”

此外,无法检测超过4个单词取决于很多因素,测试图像的类型(具有多少功能),图像的大小,平台等。