java - 在收据上使用 Tesseract 时如何获得更好的效果?

标签 java dataset ocr tesseract

我正在用 Java 构建一个应用程序,用于扫描收据,并使用 OCR 和 tesseract 库提取所有文本。我已经在两张图像上运行了该程序,一张是我拍摄的,一张是来自互联网的,我用来自互联网的一张图像得到了几乎完美的结果,但从我的图像中得到了随机字符串。我该如何改变这一点?我需要完美品质的高分辨率图像吗?

我尝试拍摄更好的图像,甚至是只有一个单词的图像,但我什么也没得到。

Tesseract instance = new Tesseract();
instance.setDatapath(pathToMyTessData); 
instance.setLanguage("fra");

String result = instance.doOCR(new File(myReceiptFile));
System.out.println(result);

我试图扫描的收据包含很多我不想提取的(对我来说无用的)信息,有什么方法可以只提取食品项目、日期、总数等......?

PS:我的票看起来像 this

最佳答案

也许你应该训练你的超立方体,还有另一篇关于这个的文章。 here

关于java - 在收据上使用 Tesseract 时如何获得更好的效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58192628/

相关文章:

Java 字段从方法返回后有错误的值,而使用 void 方法计算它会产生正确的结果

java - 在 Oracle 和 H2 中的 @Formula 中使用 CURRENT_DATE()

c# - 如何使用 ADO.NET 创建数据源而不是读取和操作数据源

c++ - 删除 Tesseract 中的处理日志

java - 在java中下载包含内联图像的电子邮件正文

java - hdfs java 文件系统 API : creating Configuration object

Delphi:使用TClientDataset作为内存数据集

database - 是否可以在 mysql 中进行批量复制

image - 去除历史文档中的噪声和污点以进行 OCR 识别

python - 如何将自己的数据集提供给keras image_ocr