Android应用程序和Java应用程序为同一图像生成不同的结果

时间:2017-09-24 12:23:05

标签: java android tesseract tess4j tess-two

我正在为两个不同的平台开发OCR应用程序。

  1. Android
  2. 我正在使用android studio进行Android应用程序开发,使用Tess-two库版本5.4.1。以下是我用于从图像进行文本识别的代码。

    myBitmap = BitmapFactory.decodeFile(imagePaths[i]);
    TessBaseApi tessApi = new TessBaseAPI();
    tessApi.init(dirPathSDCard, "eng");
    tessApi.setImage(myBitmap);
    returnedText = tessApi.getUTF8Text();                   
    Log.e("Returned Text", returnedText)
    tessApi.end()
    

    for pc我在Eclipse IDE中使用java编程语言。我在我的java应用程序中使用Tess4j。以下是我的代码,显示我如何从图像中获得识别文本

    public static void main(String args[]) throws IOException{
    
      try {     
        ITesseract instance = new Tesseract();
        instance.setDatapath("tessdata");
        String result = instance.doOCR(imgFile);
        System.out.println(result);
      } 
      catch(TesseractException e) {
        System.err.println(e.getMessage());}    
    
      }
    

    我的问题是我相信这两个封装类都基于用c / c ++编写的Tesserect OCR引擎。有时我从android应用程序获得准确的文本,但java程序不会返回相同图像的准确结果。有时我从java程序中获得准确的结果,但android应用程序不会返回该图像的准确文本。如果两个包装类的核心库相同,那么为什么它们都会产生不同的结果。我正在测试以下图片,其中android应用程序返回准确的文本,但java程序没有。

    enter image description here

    是否可以从这两个程序中获得相同的结果。任何帮助,将不胜感激。非常感谢您在这件事上的时间和帮助。

0 个答案:

没有答案