0

ビットマップをtesseractに渡して、読み取った文字を取得しようとしています。私はこのようにコードを書きました:

TessBaseAPI baseApi = new TessBaseAPI();
baseApi.setImage(ReadFile.readBitmap(charscropped));
String capturedChars = baseApi.getUTF8Text(); // app crashes in this line

ここに何が欠けていますか?

Logcat の出力:

11-03 15:00:54.473: E/AndroidRuntime(5674): FATAL EXCEPTION: main
11-03 15:00:54.473: E/AndroidRuntime(5674): java.lang.NullPointerException
11-03 15:00:54.473: E/AndroidRuntime(5674):     at com.googlecode.tesseract.android.TessBaseAPI.getUTF8Text(TessBaseAPI.java:409)
11-03 15:00:54.473: E/AndroidRuntime(5674):     at com.elottery.ocr.Test$4.onClick(Test.java:110)
11-03 15:00:54.473: E/AndroidRuntime(5674):     at android.view.View.performClick(View.java:3567)
11-03 15:00:54.473: E/AndroidRuntime(5674):     at android.view.View$PerformClick.run(View.java:14224)
11-03 15:00:54.473: E/AndroidRuntime(5674):     at android.os.Handler.handleCallback(Handler.java:605)
11-03 15:00:54.473: E/AndroidRuntime(5674):     at android.os.Handler.dispatchMessage(Handler.java:92)
11-03 15:00:54.473: E/AndroidRuntime(5674):     at android.os.Looper.loop(Looper.java:137)
11-03 15:00:54.473: E/AndroidRuntime(5674):     at android.app.ActivityThread.main(ActivityThread.java:4517)
11-03 15:00:54.473: E/AndroidRuntime(5674):     at java.lang.reflect.Method.invokeNative(Native Method)
11-03 15:00:54.473: E/AndroidRuntime(5674):     at java.lang.reflect.Method.invoke(Method.java:511)
11-03 15:00:54.473: E/AndroidRuntime(5674):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
11-03 15:00:54.473: E/AndroidRuntime(5674):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
11-03 15:00:54.473: E/AndroidRuntime(5674):     at dalvik.system.NativeStart.main(Native Method)
4

2 に答える 2

1

エラーはその行ではなく、上の行にあります。Bitmap のオブジェクトを baseApi.setImage(); に直接渡します。

例のように:-

ビットマップ bmp;
次に、画像を bmp
baseApi.setImage(bmp);に保存します。

それは私のために働いた。

于 2013-11-27T12:44:27.570 に答える