2011-11-15 22 views
3

我試過tessnet庫,它是我個人項目中Tessract OCR引擎的包裝。但是我發現Tessnet最新版本有很多內存泄漏。經過30次OCR時間後,爲我的應用程序分配的內存可增加到500MB。你能告訴我如何克服這個內存泄漏問題嗎?有沒有更好的解決方案?我只知道C#,並且只能在應用程序中使用.NET庫。 希望能儘快聽到你的專家傢伙。 在此先感謝如何克服tessnet內存泄漏?

+2

請顯示相關代碼。你是否正確地處置,特別是它讀取的位圖? – CodeCaster

+0

我確信我會正確地處理位圖。我查了幾個從網上下載的tessnet示例項目。他們與我的應用程序有同樣的問題。 – user1042808

+0

Tessnet是Tesseract的包裝,這是舊的和充滿內存泄漏!以下解決方案通常可能是最好的解決方案。 – CompanyDroneFromSector7G

回答

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(); 

編輯:我要指出,該計劃是使用一噸的內存,並呼籲在處理這釋放我的記憶圖像對象,並解決了內存泄漏問題。