如何使用Tess4J对包含欧元符号的图像执行OCR?

时间:2016-02-27 14:25:07

标签: java ocr tesseract tess4j

我有以下想要OCR的图片:

enter image description here

我正在使用Tess4J并遵循these instructions

这就是我正在尝试的:

import java.io.File;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.TesseractException;


public class Main {

    public static void main(String[] args) {

//        Perform OCR
//        ===========
        File imageFile = new File("./CroppedSubtotal.png");
        ITesseract instance = new Tesseract();  // JNA Interface Mapping

        try {
            String result = instance.doOCR(imageFile);
            System.out.println("====== Result: " + result);
        } catch (TesseractException e) {
            System.err.println(e.getMessage());
        }
    }
}

当我在IntelliJ中运行它时,控制台会返回以下内容:

/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk ...
====== Result: 

Process finished with exit code 0

我可以尝试解决这个问题吗?

更新

当我对下面的图像进行OCR时,它确实可以正常工作

text numbers without euro symbol

欧元符号必须是原因。我已经尝试将其添加到白名单但没有成功

instance.setTessVariable("tessedit_char_whitelist", "€0123456789,.");

1 个答案:

答案 0 :(得分:0)

使用英语数据包,Tesseract可以很好地识别欧元符号。您的控制台可能无法显示它。