正方体解析图像,并返回null

问题描述:

我有问题正方体方法。我使用下面的代码和我的应用程序直接stop.Below是我的jni.cpp文件。正方体解析图像,并返回null

struct native_data_t { 
    native_data_t() : image_obj(NULL), image_buffer(NULL) {} 
    tesseract::TessBaseAPI api; 
    jbyteArray image_obj; 
    jbyte* image_buffer; 
    int width, height, bpp; 
    char bBWFilter;     // 0=disable, 1=enable 
    char bHorizontalDisplay; 
}; 
native_data_t *nat = get_native_data(env, thiz); 
if (nat->api.Init("/sdcard/","eng")) { 
     LOGE("could not initialize tesseract!"); 
     res = JNI_FALSE; 
    } 

你能帮助我吗?什么是数据路径在这个init方法?提前致谢。

我logcat的是如下。

09-03 11:52:53.186: VERBOSE/MLOG: AssetsManager.java:(2263): isAssetsInstalled(): Assets are already correctly installed 
09-03 11:52:53.186: VERBOSE/MLOG: OCR.java:(2263): GetLanguage(): eng 
09-03 11:52:53.206: VERBOSE/MLOG: OCR.java:(2263): setLanguage to eng 
09-03 11:52:53.206: VERBOSE/MLOG: OCR.java:(2263): noLangs=1 
09-03 11:52:53.206: VERBOSE/OcrLib(native)(2263): ocr_open 
09-03 11:52:53.206: INFO/OcrLib(native)(2263): lang eng 
09-03 11:52:53.246: ERROR/OcrLib(native)(2263): IN BASE CPP 
09-03 11:52:53.246: ERROR/OcrLib(native)(2263): IN 2nd if BASE CPP 
09-03 11:52:53.326: INFO/ActivityThread(2253): Publishing provider com.google.android.maps.SearchHistoryProvider: com.google.googlenav.provider.SearchHistoryProvider 
09-03 11:52:54.076: INFO/ActivityManager(123): Start proc com.android.voicedialer for broadcast com.android.voicedialer/.VoiceDialerReceiver: pid=2274 uid=10016 gids={3002} 
09-03 11:52:54.206: INFO/ActivityManager(123): Stopping service: com.android.vending/.util.WorkService 
09-03 11:52:54.336: INFO/ActivityManager(123): Process com.temp.unique.ocr (pid 2263) has died. 
09-03 11:52:54.366: DEBUG/Zygote(122): Process 2263 exited cleanly (1) 
09-03 11:52:54.756: INFO/dalvikvm(2274): Debugger thread not active, ignoring DDM send (t=0x41504e4d l=38) 
09-03 11:52:54.766: DEBUG/vending(261): [43] LocalAssetCache.updateOnePackage(): No local info for com.temp.unique.ocr 

和我的包裹是com.temp.unique.ocr。我的申请流程直接死亡。

+0

日志堆栈跟踪,请 –

有已经JNI封装为正方体2.04命名为Tesjeract。你可能想看看它的源代码,看看他们是如何做到的。

数据路径是通向tessdata文件夹,其中包含所有语言的数据文件。

还有一个名为Tess4J基于JNA的解决方案,如果你有兴趣。

+0

我只是想知道为什么我的申请过程中直接死亡?这不是强制关闭错误,而是直接处理死亡和回家的屏幕。 –

+0

我可以在android中使用[tess4J](http://tess4j.sourceforge.net/)吗? –

+0

/sdcard路径下的tessdata文件夹? Tess4J是基于JNA的;它在Windows上运行。我不确定Android。 – nguyenq