Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用程序和java应用程序为相同的图像生成不同的结果_Java_Android_Tesseract_Tess4j_Tess Two - Fatal编程技术网

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

Android应用程序和java应用程序为相同的图像生成不同的结果,java,android,tesseract,tess4j,tess-two,Java,Android,Tesseract,Tess4j,Tess Two,我正在为两个不同的平台开发OCR应用程序 安卓 窗户 我正在使用android studio进行android应用程序开发,使用的是Tess two library版本5.4.1。下面是我的代码,我用它从图像中识别文本 myBitmap = BitmapFactory.decodeFile(imagePaths[i]); TessBaseApi tessApi = new TessBaseAPI(); tessApi.init(dirPathSDCard, "eng"); tessApi.set

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

  • 安卓
  • 窗户
  • 我正在使用android studio进行android应用程序开发,使用的是Tess two library版本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()
    
    对于pc,我使用java编程语言和EclipseIDE。我将Tess4j用于我的java应用程序。下面是我的代码,它显示了如何从图像中识别文本

    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++编写的OCR引擎。有时我会从android应用程序中获得准确的文本,但java程序不会为相同的图像返回准确的结果。有时我会从java程序中得到准确的结果,但android应用程序不会为该图像返回准确的文本。如果两个包装器类的核心库相同,那么为什么它们都会产生不同的结果。我正在测试以下图像,android应用程序会返回准确的文本,但java程序不会


    这两个程序有可能得到相同的结果吗。任何帮助都将不胜感激。非常感谢您在这件事上的时间和帮助

    由于Tesseract API调用完全不同,因此无法保证这两个程序执行相同的操作。据猜测,底层实现是一个中立的网络。即使API调用最终调用come代码,不同的矩阵也会返回不同的结果。相互训练网络可能是可能的。您的意思是,如果我根据自己的数据训练一个模型,那么在这种情况下,我可以从两个应用程序中获得相同的结果?在更大的数据集上训练两个模型,两个模型在训练阶段相互竞争。这大大提高了使用竞争模型进行训练的学习速度。我对两个平台使用相同的训练模型,但仍然得到不同的结果。是的,这在神经网络中是正常的,直到你有足够的样本量来消除样本偏差。每次训练的执行都是不同的。该方法的成功取决于具有三个或更多自变量的系统的不确定性,但训练时间相当长。由于Tesseract API调用完全不同,因此无法保证这两个程序执行相同的操作。据猜测,底层实现是一个中立的网络。即使API调用最终调用come代码,不同的矩阵也会返回不同的结果。相互训练网络可能是可能的。您的意思是,如果我根据自己的数据训练一个模型,那么在这种情况下,我可以从两个应用程序中获得相同的结果?在更大的数据集上训练两个模型,两个模型在训练阶段相互竞争。这大大提高了使用竞争模型进行训练的学习速度。我对两个平台使用相同的训练模型,但仍然得到不同的结果。是的,这在神经网络中是正常的,直到你有足够的样本量来消除样本偏差。每次训练的执行都是不同的。该方法的成功取决于具有三个或三个以上自变量的系统的不确定性,但训练时间相当长。