我正在为两个不同的平台开发OCR应用程序。
我正在使用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程序没有。
是否可以从这两个程序中获得相同的结果。任何帮助,将不胜感激。非常感谢您在这件事上的时间和帮助。