我正在开发基于OCR的 Android 应用。我正在使用Tesseract库。我的应用程序在 Sony Ericsson Xperia Arc S 设备上运行良好。但是,同样的应用程序在我的三星Galaxy Tab 8.9 上崩溃了。我不确定为什么会这样。以下是代码段:
TessBaseAPI baseApi = new TessBaseAPI();
baseApi.init(Environment.getExternalStorageDirectory().toString() + "/tesseract/", "eng",TessBaseAPI.OEM_DEFAULT);
baseApi.setImage(bitmap);
String recognizedText=baseApi.getUTF8Text(); //App Crashes here
如何解决?
不幸的是,logCat不会报告任何错误。
以下是我在logCat中看到的输出:
02-12 09:57:20.720: I/Tesseract(native)(5577): Initialized Tesseract API with language=eng
02-12 09:57:20.720: D/dalvikvm(5577): Trying to load lib /data/data/com.project.meter_reader/lib/liblept.so 0x4074d618
02-12 09:57:20.720: D/dalvikvm(5577): Shared lib '/data/data/com.project.meter_reader/lib/liblept.so' already loaded in same CL 0x4074d618
02-12 09:57:21.030: D/dalvikvm(5577): Trying to load lib /data/data/com.project.meter_reader/lib/liblept.so 0x4074d618
02-12 09:57:21.030: D/dalvikvm(5577): Shared lib '/data/data/com.project.meter_reader/lib/liblept.so' already loaded in same CL 0x4074d618
02-12 09:57:24.160: I/dalvikvm(5577): threadid=4: reacting to signal 3
02-12 09:57:24.160: I/dalvikvm(5577): Wrote stack traces to '/data/anr/traces.txt'
在baseApi.getUTF8Text()
,应用程序显示一个空白屏幕,只是停止响应,然后调试器就会分离。
答案 0 :(得分:1)
我在本机lib中使用Tesseract 3.0.19时遇到了类似的问题。将tess-data更新到版本3.02帮助了我。