[英]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.