使用OCR从Image文件中读取文本的API

时间:2014-03-20 11:32:42

标签: java ocr

我正在寻找Java中OCR(光学字符识别)的示例代码或API名称,使用它我可以从图像文件中提取所有文本。不将它与我在代码下面使用的任何图像进行比较。

public class OCRTest {

    static String STR = "";

    public static void main(String[] args) {
        OCR l = new OCR(0.70f);
        l.loadFontsDirectory(OCRTest.class, new File("fonts"));
        l.loadFont(OCRTest.class, new File("fonts", "font_1"));
        ImageBinaryGrey i = new ImageBinaryGrey(Capture.load(OCRTest.class, "full.png"));
        STR = l.recognize(i, 1285, 654, 1343, 677, "font_1");
        System.out.println(STR);
    }
}

3 个答案:

答案 0 :(得分:9)

您可以尝试Tess4jJavaCPP Presets for Tesseract。我后来认为它比前者更容易。 将依赖项添加到您的pom`

myCheckbox.addEventListener('change', enableDisableAll);

` 它的编码简单

        <dependency>
            <groupId>org.bytedeco.javacpp-presets</groupId>
            <artifactId>tesseract-platform</artifactId>
            <version>3.04.01-1.3</version>
        </dependency>

Tess4j有点复杂,因为它需要安装特定的VC ++可再发行组件包。

答案 1 :(得分:7)

您可以在sourceforge上尝试javaocr:http://javaocr.sourceforge.net/

使用Encog:http://www.heatonresearch.com/articles/42/page1.html

的applet也有一个很好的例子

也就是说,OCR需要很多功能,所以这意味着如果你正在寻找大量使用,你应该照顾用C语言编写的OCR库并将其与Java集成。

OCR很难。因此,在冒险进入之前一定要确定自己的需求。

Tesseract和opencv(例如使用javacv进行集成)是常见的选择。还有商业解决方案,例如ABBYY FineReader EngineABBYY Cloud OCR SDK

答案 2 :(得分:2)

Google提供OCR的开源OCR引擎。  它可以使用CMD进行处理。您可以轻松地使用Java为Web应用程序处理CMD。
请访问https://www.youtube.com/watch?v=Mjg4yyuqr5E 。您将获得使用CMD处理OCR的分步详细信息。