tess4j 调用错误问题

[复制链接]
查看11 | 回复1 | 2021-1-27 05:16:44 | 显示全部楼层 |阅读模式
个人使用tess4j的所有版本(从1.3.0-4.5.0),在配置了TESSDATA_PREFIX变量的前提下,同时确认TESSDATA目录可以访问没有任何问题。源图片可以访问没有任何问题(实际上用其他ocr已经解析过该图片了),使用如下代码一直报如下错误,
源码如下:
StringimagePath="C:/Users/it/Desktop/temp/abc-1.png";
StringTESSDATA="D:/abc/bcd/tessj4/tessdata";
FileimageFile=newFile(imagePath);
ITesseractinstance=newTesseract();//JNAInterfaceMapping
//ITesseractinstance=newTesseract1();//JNADirectMapping
instance.setDatapath(TESSDATA);//pathtotessdatadirectory
Stringresult=instance.doOCR(imageFile);
System.out.println(result);
错误如下:
SLF4J:Actualbindingisoftype[ch.qos.logback.classic.util.ContextSelectorStaticBinder]
ErroropeningdatafileD:/abc/bcd/tessj4/tessdata/eng.traineddata
PleasemakesuretheTESSDATA_PREFIXenvironmentvariableissettoyour"tessdata"directory.
Failedloadinglanguage'eng'
Tesseractcouldn'tloadanylanguages!
Exceptioninthread"main"java.lang.Error:Invalidmemoryaccess
atcom.sun.jna.Native.invokePointer(NativeMethod)
atcom.sun.jna.Function.invokePointer(Function.java:470)
atcom.sun.jna.Function.invoke(Function.java:404)
atcom.sun.jna.Function.invoke(Function.java:315)
atcom.sun.jna.Library$Handler.invoke(Library.java:212)
atcom.sun.proxy.$Proxy0.TessBaseAPIGetUTF8Text(UnknownSource)
atnet.sourceforge.tess4j.Tesseract.getOCRText(Tesseract.java:491)
atnet.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:354)
atnet.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:228)
atnet.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:195)
atcom.jason.test.ocr.TestOcr.main(TestOcr.java:21)
大佬们帮忙看下了,谢谢。
说TESSDATA路径有问题的就不用看了,可以保证无论是环境变量方式还是代码局部设置方式,在路径正确的情况下都是没有效果的。
而且无论是采用PREFIXE方式还是绝对路径方式也都尝试过。一样不行。感觉这个现象不太像设置问题,但是又不知道具体是什么原因造成的。
哪位大佬有过类似经验的帮忙出出主意,谢谢。


分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:16:44 | 显示全部楼层
光学扫描、图像识别这么常用的功能没有人来赐教下嘛?大神都是如何实现的呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行