使用最新的tess4j 3.3.0包,这个版本的dll文件应该是集成在jar包里面的,环境是win10,vc环境健全,使用eclips
代码:
import java.io.File; import net.sourceforge.tess4j.ITesseract; import net.sourceforge.tess4j.Tesseract; import net.sourceforge.tess4j.TesseractException; public class MainTest { public static void main(String[] args) { try { File imageFile = new File("C:\\Users\\Administrator\\Desktop\\eurotext.png");//图片位置 ITesseract instance = new Tesseract(); // JNA Interface Mapping instance.setDatapath("C:\\javaTool\\Tess4J\\tessdata");//设置tessdata位置 instance.setLanguage("eng");//选择字库文件(只需要文件名,不需要后缀名) String result = instance.doOCR(imageFile);//开始识别 System.out.println(result);//打印图片内容 } catch (TesseractException e) { e.printStackTrace(); } } }
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\Administrator\AppData\Local\Temp\jna-146731693\jna6221012064005976035.dll: 拒绝访问。 at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821) at java.lang.Runtime.load0(Runtime.java:809) at java.lang.System.load(System.java:1086) at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:761) at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:736) at com.sun.jna.Native.(Native.java:131) at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(Unknown Source) at net.sourceforge.tess4j.TessAPI.(Unknown Source) at net.sourceforge.tess4j.Tesseract.init(Unknown Source) at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source) at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source) at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source) at MainTest.main(MainTest.java:15)
这是报错,在百度和google都查了很久,似乎都没有我这样的问题的。
一个简单的tess4j折腾了半天还是没解决,求助~
认证0级讲师