Как преодолеть утечку памяти в тесснете? - PullRequest
3 голосов
/ 15 ноября 2011

Я попробовал библиотеку tessnet, которая является оболочкой механизма распознавания Tessract в моем личном проекте.Но я обнаружил, что в текущей версии Tessnet много утечек памяти.После 30 операций OCR объем памяти, выделенной для моего приложения, увеличивается до 500 МБ.Не могли бы вы сказать мне, как преодолеть эту проблему утечки памяти?Есть ли лучшее решение?Я знаю только C # и могу использовать только библиотеку .NET в приложении.Надеюсь скоро услышать от вас опытных ребят.Заранее спасибо

1 Ответ

1 голос
/ 25 июля 2013

Я решил свою проблему, вызвав .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();

edit: я должен отметить, что программа использовала тонну памяти, и вызов dispose на моих объектах изображения освободил эту память и решил проблему утечки памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...