首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tesseract / Tess4j内存泄漏

Tesseract / Tess4j内存泄漏
EN

Stack Overflow用户
提问于 2020-05-14 01:36:59
回答 1查看 459关注 0票数 1

我们正在尝试使用Tesseract和Tess4j进行文字提取。

在连续使用tesseract一段时间后,我们注意到应用程序使用的RAM逐渐增加,在此期间,堆内存仍然是空闲的。我们使用jconsole监控堆外内存。堆外内存似乎也很正常。但应用程序的RAM RSS内存却在不断增加

我猜问题是在OCR的内存分配过程中由tesseract造成的内存泄漏,我不确定。任何进一步的想法,请与我们分享

EN

回答 1

Stack Overflow用户

发布于 2021-08-19 21:00:01

前几天我也遇到了同样的问题。我删除了tess4j并使用Tika 1.27 + tesseract解决了这个问题。我使用Executor服务一次运行3个线程,这使内存保持在有限的范围内。

代码语言:javascript
复制
    byte fileBytes[] ; // image bytes
    Future<String> future = executorService.submit(() -> {
    TesseractOCRConfig config = new TesseractOCRConfig();
    config.setLanguage("kor+eng");
    config.setEnableImageProcessing(1);
    config.setPreserveInterwordSpacing(true);
    ParseContext context = new ParseContext();
    context.set(TesseractOCRConfig.class, config);

    Parser parser = new AutoDetectParser();
    BodyContentHandler handler = new BodyContentHandler();
    Metadata metadata = new Metadata();
    parser.parse(new ByteArrayInputStream(fileBytes), handler, metadata, context);
    return handler.toString();
});

fileBody = future.get(120, TimeUnit.SECONDS);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61781199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档