我在个人项目中尝试了Tessnet库,它是Tesseract OCR引擎的封装器。但我发现Tessnet当前版本存在许多内存泄漏问题。在进行30次OCR后,我的应用程序分配的内存增加了500MB。请问如何解决这个内存泄漏问题?是否有更好的解决方案?我只会使用C#和.NET库。
希望能尽快听到你们专家的回复。
谢谢!
我在个人项目中尝试了Tessnet库,它是Tesseract OCR引擎的封装器。但我发现Tessnet当前版本存在许多内存泄漏问题。在进行30次OCR后,我的应用程序分配的内存增加了500MB。请问如何解决这个内存泄漏问题?是否有更好的解决方案?我只会使用C#和.NET库。
希望能尽快听到你们专家的回复。
谢谢!
在我对位图进行所需操作后,我通过调用所有创建的位图的.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方法释放了这些内存,并解决了内存泄漏问题。