【问题标题】:java - OCR with Asprise libraryjava - 带有 Asprise 库的 OCR
【发布时间】:2015-08-14 13:37:34
【问题描述】:

我制作了一个 Android 应用,它可以捕捉照片并使用 OCR 保存照片中的文本。这是我使用 Asprise 库的代码,但“识别”方法有问题:

Ocr.setUp();
Ocr ocr = new Ocr();
ocr.startEngine("eng", Ocr.SPEED_FASTEST);
String s = ocr.recognize(theImage, Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_PLAINTEXT);
ocr.stopEngine();

“theImage”是Bitmap,但是他们想要“RenderedImage”类型在那里(以为Bitmap也是渲染的),“recognize”方法的第四个参数是“Object...propSpec”,但是在示例中asprise 官方网站只有 3 个参数。现在“识别”行中的参数带有红色下划线。那么,我应该如何处理我的代码才能正常工作?

附:当然,我听说过 tess-two 库,但是在 Android Studio 中添加它对我来说有点复杂(我不知道他们为什么不能让它只添加一行在 build.gradle 中)

【问题讨论】:

    标签: java android bitmap ocr


    【解决方案1】:

    我已经通过以下代码实现了相同的,你想做的事情,这正在按照我的意愿工作,其他问题可能就像你电脑中的文件阅读器,即,如果你希望 PDF 文件是 OCR,应该安装 .pdf 阅读器。

       Ocr.setUp();
       Ocr ocr = new Ocr();
       ocr.startEngine("eng", Ocr.SPEED_FASTEST);
       String s = ocr.recognize(new File[] {new File(path)},
       Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_PLAINTEXT);
       System.out.println("Result: \n" + s);
       ocr.stopEngine();
       System.out.println("---END---");
    

    【讨论】:

    • 问题是我需要在我的 Android 手机上运行这个 OCR 并且我需要传递刚刚捕获的位图。也许,我可以将这个位图保存在我的手机上,然后将手机内存中的路径放入你的代码中......有什么工作方式来做到这一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 2010-09-07
    • 2013-04-25
    • 2015-06-21
    • 1970-01-01
    相关资源
    最近更新 更多