【问题标题】:Passing bitmap to Tesseract in Android在Android中将位图传递给Tesseract
【发布时间】:2013-11-03 09:26:11
【问题描述】:

我正在尝试将位图传递给 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)

【问题讨论】:

    标签: java android bitmap ocr tesseract


    【解决方案1】:

    错误不在该行中,而是在上面的行中。 将Bitmap的对象直接传给baseApi.setImage();

    例如:-

    位图 bmp;
    然后将图像存储在 bmp
    baseApi.setImage(bmp);

    它对我有用。

    【讨论】:

      【解决方案2】:

      在参考 Gautam Gupta 的博客后,我得到了这个工作:http://gaut.am/making-an-ocr-android-app-using-tesseract/

      问题是语言文件丢失,我手动将它们放入手机 sdcard。以下是代码行:

      TessBaseAPI baseApi = new TessBaseAPI();
      baseApi.init("/mnt/sdcard/tesseract", "eng"); 
      baseApi.setImage(ReadFile.readBitmap(charscropped));
      String capturedChars = baseApi.getUTF8Text();
      

      【讨论】:

        猜你喜欢
        • 2015-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-28
        • 2017-12-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多