问题标签 [tess4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2459 浏览

java - Java tesseract 返回文本位置的坐标

我在 Eclipse 中使用 Java 并希望返回找到的所有已识别文本的坐标。我通过 tess4j 获得的代码当前输出找到的所有文本,此代码如下:

是否可以检索坐标?

谢谢。

0 投票
3 回答
4007 浏览

java - Tesseract - 错误 net.sourceforge.tess4j.Tesseract - null

创建了一个使用 Tesseract 的 Java 应用程序,以便将给定的图像或 pdf 转换为字符串格式,当在我的机器上使用 junit 作为单元测试运行它时,它运行良好,但是在运行完整系统时,它是由 tomcat 运行的 restFul API接收图像并运行 Tesseract 它给了我以下错误:

23:22:36.511 [http-nio-9999-exec-3] 错误 net.sourceforge.tess4j.Tesseract - null java.lang.NullPointerException: null at net.sourceforge.tess4j.util.PdfUtilities.convertPdf2Png(PdfUtilities.java: 107) 在 net.sourceforge.tess4j.util.ImageIOHelper.getIIOImageList(ImageIOHelper.java:343) 在 net.sourceforge.tess4j.Tesseract.doOCR 的 net.sourceforge.tess4j.util.PdfUtilities.convertPdf2Tiff(PdfUtilities.java:48) (Tesseract.java:213) 在 net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:197) 在 ocr.OcrUtil.getString(OcrUtil.java:54) 在 com.tapd.server.api.handlers.IRSHandler。在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl 在 com.tapd.server.api.WebAPIService.updateParentIrsForm(WebAPIService.java:250) 上传 IRSImage(IRSHandler.java:65)。在 org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory) 的 sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 调用(Unknown Source) .java:81) 在 org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) 在 org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java: 161)在 org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher 的 org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)。dispatch(AbstractJavaResourceMethodDispatcher.java:99) at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)在 org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) 在 org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:309) 在 org.glassfish.jersey.internal。 Errors$1.call(Errors.java:271) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) at org.glassfish.jersey.internal.Errors.process(Errors.java:315)在 org.glassfish.jersey.internal.Errors.process(Errors.java:297) 在 org.glassfish.jersey.internal.Errors.process(Errors.java:267) 在 org.glassfish.jersey.process.internal.RequestScope .runInScope(RequestScope.java:317) 在 org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:292) 在 org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1139) 在 org.glassfish .jersey.servlet.WebComponent.service(WebComponent.java:460) 在 org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:386) 在 org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java :334) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) 在 org.apache.catalina.core 的 org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:221)。 ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 在 org.apache.catalina.core.StandardWrapperValve .invoke(StandardWrapperValve.java:198) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522) 在 org. apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve. java:620) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) 在 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1110) 在 org.apache.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66) 在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425) 在org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 在 java.lang.Thread.run(Unknown Source) [2016-09-14 23:22:36,512] [错误] java.lang.NullPointerException

我的猜测是 tessdata 文件夹不在正确的位置,当打包到 Jar 并由 tomcat 运行时,它放错了位置,但我不知道它应该放在哪里,我仔细检查了所有的 Jar部署正确。

编辑:所以当Tesseract在AWS S3等远程服务器上时,它似乎无法处理路径,所以问题是为什么?以及如何允许它使用来自 S3 的路径?(是的,文件是公开的)

0 投票
1 回答
319 浏览

java - Tesseract Redhat tomcat 8 配置 - TessApi classdefnotfound

Tesseract 在 eclipse、windows 7、Tomcat 8 中运行成功

当我在 linux 机器(RHEL)+java 8+tomcat 8 上运行相同的应用程序时,我得到了 classdefnotfound 错误。该类存在于类文件夹中(TessAPI.class)。

我这样做是为了在 linux 中进行设置。

我在这里错过了什么吗?

0 投票
1 回答
309 浏览

java - 有没有办法在 UI(JavaFX)中显示 tess4j 进度?

我需要在 Javafx UI 中显示 tess4j(OCR 库)进度。

0 投票
1 回答
1575 浏览

java - How to recognize specific regions from image using Tess4j java

I am working on Tess4j for reading passport. Is there any function to recognise only part of passport image such as Name, Surname etc. Does Tesseract supports zonal OCR? How can I achieve this task using Tesseract? Give me some suggestions on it.

0 投票
1 回答
1711 浏览

java - Tesseract / Tess4J 在 Mac OS X 上崩溃:有问题的框架:C [libtesseract.dylib+0xcf72] tesseract::TessResultRenderer::~TessResultRenderer()+0x10

我在 Mac OS X 上使用 Tesseract 和 Java 包装器库 Tess4J 运行了一个简单的程序。同时尝试了 JDK7 和 JDK8。

该代码对图像进行 OCR 并从中创建 PDF。该代码可以正常工作并完成它应该做的事情(pdf被创建得很好)。但最后,我在我的 Mac 上收到了崩溃报告。

导致崩溃的行是最后一行:

控制台输出:

和崩溃报告:

pastebin 的完整输出:http: //pastebin.com/v9gPd4hk

0 投票
1 回答
1279 浏览

tesseract - Tess4J:尽管版本正确,但“调用约定 63 无效”

我尝试在Linux(Ubuntu 16 Xenial)上使用Tess4J和以下代码进行OCR和输出为PDF 。

最后一行

抛出异常:

我发现这是 Tess4J 的一个已知(但据说已关闭)问题:

但我检查了我的版本以及 TESSDATA_PREFIX 环境变量。据我所知,一切都设置正确。

Tesseract 和 Leptonica 版本:

Ghostscript 版本:(这是我通过的最新版本apt-get

Tess4j 版本:

和 TESSDATA_PREFIX(配置文件等位于 /projects/de.conradt.core/tessdata 下):

查看 Tess4j 的发布日志:http://tess4j.sourceforge.net/changelog.html 我应该使用正确的版本堆栈。特别是更改日志中的 3.2 版说:

版本 3.2 - 2016 年 5 月 15 日:由于在 Linux 上通过 Ghost4J 调用 GhostScript 出现“无效调用约定 63”错误,将 JNA 恢复为 4.1.0

所以我认为我应该安全地使用 3.2.1。

我需要手动设置有关 JNA 的任何内容吗?据我了解,这已在 3.2.0 for Linux 中明确修复。

0 投票
2 回答
706 浏览

java - Tesseract 无法识别阿拉伯字符

我正在开发一个使用 tesseract api 识别车牌号码的应用程序,但在车牌中有阿拉伯语字符。

有人知道如何制作这个吗?

这是车牌的一个例子

0 投票
1 回答
989 浏览

tesseract - tess4j doOCR中矩形的坐标是多少?

我正在尝试使用 tess4j 扫描多页 PDF 文件。我使用以下代码:

但是,由于速度问题,我只对扫描每一页的上半部分感兴趣(实际上,甚至更少,但为了争论)。API 指定我当前null可以通过的位置Rectangle rect,但我没有看到对矩形坐标所指的内容的引用。PDF 来自不同的提供商,如果这有什么不同的话。

0 投票
2 回答
3176 浏览

java - How to detect text blocks and columns in pdf with tess4j

I'm new to Tesseract (tess4j), managed to used main features like reading the text or getting the words positions both from image or pdf, rotating etc..

I can't find, and not sure if it is possible to easily detect blocks of text (paragraphs or columns). Also, if there are some other blocks in pdf like images or something else, is it possible to get it somehow, or at least to get the position of the block (box).