java - 在收据上使用 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:我的票长这样
解决方案
也许你应该训练你的 tesseract ,关于这个还有另一篇文章。这里
推荐阅读
- tensorflow - 使用通道作为 CNN 输入的时间序列
- javascript - 如何在使用 AJAX 克隆全日历中的事件后更新数据库
- swift - UISearchBarSearchContainerView 是黑色的
- python - 我的桨通过相反的键移动,左桨用箭头移动,而右桨用 wsad 移动。我该如何解决?
- java - Java:基于浮点数的参数无法识别浮点数
- c++ - 传递双精度的 2D 向量以用作 **double
- c# - 将文件从 NodeJS 发布到 C# WCF
- visual-studio - 如何使用 MSVC 编译 2005 年的 .dll 文件?
- python - Python SAP 云身份登录
- sql-server - SSIS Excel 目标 - 动态列数