Java 未找到图形中的Tesseract OCR编号

Java 未找到图形中的Tesseract OCR编号,java,ocr,tesseract,Java,Ocr,Tesseract,我想从图像中提取数字。通常数字在某个数字附近,有时在该数字内。我正在使用Tesseract执行此任务。Tesseract对于包含大量文本的文档非常有效,但我还没有找到正确的参数来获得此任务的良好结果。我尝试了不同的页面分割模式(理论上,PSM_稀疏_文本应该在这里工作得最好)、所有不同的引擎模式、字符白名单、禁用的表检测、禁用的字典等等 通常图像如下所示: Tesseract1 tesseract = new Tesseract1(); //default-lang is eng, defaul

我想从图像中提取数字。通常数字在某个数字附近,有时在该数字内。我正在使用Tesseract执行此任务。Tesseract对于包含大量文本的文档非常有效,但我还没有找到正确的参数来获得此任务的良好结果。我尝试了不同的页面分割模式(理论上,PSM_稀疏_文本应该在这里工作得最好)、所有不同的引擎模式、字符白名单、禁用的表检测、禁用的字典等等

通常图像如下所示:

Tesseract1 tesseract = new Tesseract1(); //default-lang is eng, default OEM is TessOcrEngineMode.OEM_DEFAULT;
tesseract.setTessVariable("textord_tabfind_find_tables", "0"); //table detection disabled
tesseract.setTessVariable("tessedit_enable_doc_dict", "0"); //don't use dictionary
tesseract.setTessVariable("tessedit_char_whitelist", "0123456789"); //only numbers
tesseract.setTessVariable("load_system_dawg", "0"); // system dictionary will not be loaded.
tesseract.setPageSegMode(TessPageSegMode.PSM_SPARSE_TEXT);
tesseract.setDatapath(new File("./tessdata/").getAbsolutePath());
System.out.println("Words: " + tesseract.getWords(entry.getValue(), TessPageIteratorLevel.RIL_WORD));

但是,像下面这样使用“已清理”的图像并没有带来更好的效果:

我使用Java访问Tesseract,如下所示:

Tesseract1 tesseract = new Tesseract1(); //default-lang is eng, default OEM is TessOcrEngineMode.OEM_DEFAULT;
tesseract.setTessVariable("textord_tabfind_find_tables", "0"); //table detection disabled
tesseract.setTessVariable("tessedit_enable_doc_dict", "0"); //don't use dictionary
tesseract.setTessVariable("tessedit_char_whitelist", "0123456789"); //only numbers
tesseract.setTessVariable("load_system_dawg", "0"); // system dictionary will not be loaded.
tesseract.setPageSegMode(TessPageSegMode.PSM_SPARSE_TEXT);
tesseract.setDatapath(new File("./tessdata/").getAbsolutePath());
System.out.println("Words: " + tesseract.getWords(entry.getValue(), TessPageIteratorLevel.RIL_WORD));
有什么想法(参数和/或到专业培训数据的链接)