【问题标题】:How to overcome tessnet memory leak?如何克服 tessnet 内存泄漏?
【发布时间】:2011-12-29 11:46:06
【问题描述】:

我在我的个人项目中尝试了 tessnet 库,它是 Tessract OCR 引擎的包装器。但是我发现 Tessnet 当前版本有很多内存泄漏。 30 次 OCR 后,为我的应用分配的内存增加到 500MB。你能告诉我如何解决这个内存泄漏问题吗?有没有更好的解决方案?我只知道 C# 并且只能在应用程序中使用 .NET 库。 希望尽快收到各位专家的来信。 提前致谢

【问题讨论】:

  • 请出示相关代码。您是否正确处理,尤其是它读取的位图?
  • 我确信我正确地处理了位图。我检查了几个从 Internet 下载的 tessnet 示例项目。他们对我的应用也有同样的问题。
  • Tessnet 是 Tesseract 的包装器,它陈旧且充满内存泄漏!下面经常处理的解决方案可能是最好的解决方案。

标签: c# .net ocr


【解决方案1】:

在对我创建的所有位图执行了我需要的操作之后,我通过调用 .Dispose() 解决了我的问题。我也对 TessNetOCR 对象中包含的位图做了同样的事情。

Bitmap bmp = new Bitmap(...);

TessNetOCR ocr = new TessNetOCR(tessnetlocation, lang, bmp, false, false);

(code using ocr and bmp)

ocr.Image.Dispose();

bmp.Dispose();

编辑:我应该注意到该程序正在使用大量内存,并且对我的图像对象调用 dispose 释放了该内存,并解决了内存泄漏问题。

【讨论】:

    猜你喜欢
    • 2021-05-14
    • 2020-11-02
    • 2011-02-18
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    相关资源
    最近更新 更多