如何解决Tessnet的内存泄漏问题?

3

我在个人项目中尝试了Tessnet库,它是Tesseract OCR引擎的封装器。但我发现Tessnet当前版本存在许多内存泄漏问题。在进行30次OCR后,我的应用程序分配的内存增加了500MB。请问如何解决这个内存泄漏问题?是否有更好的解决方案?我只会使用C#和.NET库。

希望能尽快听到你们专家的回复。

谢谢!


2
请展示相关代码。您是否正确释放了资源,特别是读取的位图? - CodeCaster
我确信我正确地处理了位图。我检查了从互联网下载的几个tessnet示例项目。它们与我的应用程序有相同的问题。 - user1042808
Tessnet是Tesseract的包装器,而Tesseract已经老旧且存在内存泄漏问题!下面的解决方案经常进行释放可能是最好的选择。 - CompanyDroneFromSector7G
1个回答

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方法释放了这些内存,并解决了内存泄漏问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接