仅使用Tesseract(Tes4J)识别一个或多个字母,使用A或少于4个字母识别错误

时间:2015-10-06 11:30:15

标签: ocr tesseract

基本上我的问题是我需要一个能够读取一个或多个字母的解决方案。到目前为止,我已经完成了一些事情,并且工作得很好,我有两条线:

  • load_system_dawg F
  • load_freq_dawg F

我添加了它们,同时寻找一些可以帮助我的配置。正如我所说,一切都很好,直到昨天我正在寻找阻止数字和特殊字符读取的东西。我做了一些测试,但他们没有工作,突然什么都没有工作了,Tesseract不再识别少于4个字母,除非字母' A'就在他们中间。所以我搬到了旧版本,没有那些新的配置,这就是开始发生的事情:

  1. Tesseract不再识别少于4个字母(有时必须至少5个字母),我之前测试过每个字母,并且它完美地工作(只需要对字母C和Q进行一些调整)
  2. 如果字母是' A'它会识别任何东西(不管是2,3或4个字母)。是其中的字母。只有字母“A'实现这一目标。
  3. 除了字母“A'
  4. 之外,它根本不再只识别一个字母

    这是我的Tesseract代码:

    public String tRun(){
        instance = new Tesseract();   // Tesseract instance;
        List<String> configs = Arrays.asList("addConfig");  // configFile with those 2 options
    
        instance.setConfigs(configs);
        instance.setLanguage("eng");
    
        result = "";
        try {
            result = instance.doOCR(image);  // previously loaded   
        } catch (TesseractException e) {
            System.err.println(e.getMessage());
        }
    
        System.out.println("Resultado: " + result);
    
        return result;
    }
    

    在这里,我按照我所说的做了一些测试:如果它不到4~5个字母,没有字母A,它会给出一个空白的结果,如果它有任何大小(是它)带有字母A的1个或多个字母)它给了我正确的结果。

    图片:http://imgur.com/a/0ea16

0 个答案:

没有答案