Java 使用tess4j时TessAPI1出现不满意的链接错误
我正在Mac操作系统上工作,使用tesseract进行OCRJava 使用tess4j时TessAPI1出现不满意的链接错误,java,tesseract,tess4j,Java,Tesseract,Tess4j,我正在Mac操作系统上工作,使用tesseract进行OCR handle = TessAPI1.TessBaseAPICreate(); 我用自制软件安装了tesseract handle = TessAPI1.TessBaseAPICreate(); tesseract与命令行配合良好,java程序与tesseract.getInstance()的基本示例配合良好 handle = TessAPI1.TessBaseAPICreate(); 但由于我想获得每个字符的置信度值,我切换到使
handle = TessAPI1.TessBaseAPICreate();
我用自制软件安装了tesseract
handle = TessAPI1.TessBaseAPICreate();
tesseract与命令行配合良好,java程序与tesseract.getInstance()的基本示例配合良好
handle = TessAPI1.TessBaseAPICreate();
但由于我想获得每个字符的置信度值,我切换到使用TessAPI1,出现以下错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Error looking up function 'TessResultRendererAddError': dlsym(0x7f9df9c38c20, TessResultRendererAddError): symbol not found
at com.sun.jna.Function.<init>(Function.java:208)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:536)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:513)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:499)
at com.sun.jna.Native.register(Native.java:1509)
at com.sun.jna.Native.register(Native.java:1396)
at com.sun.jna.Native.register(Native.java:1156)
at net.sourceforge.tess4j.TessAPI1.<clinit>(Unknown Source)
at TesseractWrapper.doOCR(TesseractWrapper.java:71)
at OCR.main(OCR.java:6)
handle = TessAPI1.TessBaseAPICreate();
代码如下所示:
handle = TessAPI1.TessBaseAPICreate();
TessAPI1.TessBaseAPI handle;
handle = TessAPI1.TessBaseAPICreate();
new File(this.path);
BufferedImage image = ImageIO.read(
new FileInputStream(tiff)); // require jai-imageio lib to read TIFF
ByteBuffer buf = ImageIOHelper.convertImageData(image);
int bpp = image.getColorModel().getPixelSize();
int bytespp = bpp / 8;
int bytespl = (int) Math.ceil(image.getWidth() * bpp / 8.0);
TessAPI1.TessBaseAPIInit3(handle,
"tessdata", lang);
TessAPI1.TessBaseAPISetPageSegMode(handle, TessAPI1.TessPageSegMode.
PSM_AUTO);
TessAPI1.TessBaseAPISetImage(handle, buf, image.getWidth(), image.getHeight(), bytespp, bytespl);
TessAPI1.TessBaseAPIRecognize(handle,
null);
TessAPI1.TessResultIterator ri = TessAPI1.TessBaseAPIGetIterator(handle);
TessAPI1.TessPageIterator pi = TessAPI1.TessResultIteratorGetPageIterator(ri);
TessAPI1.TessPageIteratorBegin(pi);
我从另一个问题中找到了这段代码,我想我需要的是获取和“迭代器”,然后我可以一个接一个地获取具有置信值的字符。参考:您使用的是什么版本的Tesseract和Tesser4j?确保它们是兼容的。
handle = TessAPI1.TessBaseAPICreate();