繁体   English   中英

在Windows中使用tesseract的Java OCR程序

[英]Java OCR program using tesseract in Windows

我刚刚开始尝试使用此处提供的代码和建议编写一个简单的Java代码来执行一些简单的OCR。

我已经安装了库,并且IDE(NetBeans)中的项目看起来像我所附的图片。

我收到这些错误:

10:47:30.099 [main]警告net.sourceforge.tess4j.util.LoadLibs-源'C:\\ Users \\ Simon%20Bothner \\ Documents \\ NetBeansProjects \\ OCRTest \\ build \\ classes \\ win32-x86-64'不存在

java.io.FileNotFoundException:源'C:\\ Users \\ Simon%20Bothner \\ Documents \\ NetBeansProjects \\ OCRTest \\ build \\ classes \\ win32-x86-64'不存在

at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1074)
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1038)
at net.sourceforge.tess4j.util.LoadLibs.copyResources(LoadLibs.java:138)
at net.sourceforge.tess4j.util.LoadLibs.extractTessResources(LoadLibs.java:105)
at net.sourceforge.tess4j.util.LoadLibs.<clinit>(LoadLibs.java:59)
at net.sourceforge.tess4j.TessAPI.<clinit>(TessAPI.java:42)
at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:367)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:280)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:212)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:196)
at Main.main(Main.java:15)

线程“主”中的异常java.lang.UnsatisfiedLinkError:找不到指定的模块。

at com.sun.jna.Native.open(Native Method)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:263)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:403)
at com.sun.jna.Library$Handler.<init>(Library.java:147)
at com.sun.jna.Native.loadLibrary(Native.java:502)
at com.sun.jna.Native.loadLibrary(Native.java:481)
at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(LoadLibs.java:77)
at net.sourceforge.tess4j.TessAPI.<clinit>(TessAPI.java:42)
at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:367)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:280)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:212)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:196)
at Main.main(Main.java:15)

C:\\ Users \\ Simon Bothner \\ AppData \\ Local \\ NetBeans \\ Cache \\ 8.1 \\ executor-snippets \\ run.xml:53:Java返回:1个未通过(总时间:0秒)

我尝试使用教程,但似乎缺少一个.dll,liblept168.dll ...

有人可以帮我弄这个吗? 我对此很陌生,似乎无法使它正常工作...

非常感谢! :)

步骤1: http : //tphangout.com/how-to-use-the-tesseract-api-to-perform-ocr-in-your-java-code/
打开上面的链接,查看如何在Java中正确安装Tesseract。

步骤2:阅读后,如果仍然出现“库未打开”之类的错误,请下载Microsoft Visual Studio> 12.0,并更新您的JDK版本(我也遇到同样的错误)。

第三步:

public class tesserct 
{
    public static void main(String[] args) 
    {
        //System.setProperty("jna.library.path", "64".equals(System.getProperty("sun.arch.data.model")) ? "lib/win32-x86" : "lib/win32-x86-64");

        System.setProperty("jna.library.path", "32".equals(System.getProperty("sun.arch.data.model")) ? "lib/win32-x86" : "lib/win32-x86-64");

        File imageFile = new File("F:\\Wallpaper & photo\\wallpaper\\holi wollpepar\\happy-holi-2013-hd-wallpaper1.jpg");
        ITesseract instance = new Tesseract();  // JNA Interface Mapping
        // ITesseract instance = new Tesseract1(); // JNA Direct Mapping
        File tessDataFolder = LoadLibs.extractTessResources("tessdata"); // Maven build bundles English data
        instance.setDatapath(tessDataFolder.getParent());

        try {
            String result = instance.doOCR(imageFile);
            System.out.println(result);
        } catch (TesseractException e) {
            System.err.println(e.getMessage());
        }
    }

在您的NetBeans上运行上面的代码,然后尝试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM