2011-11-15 6 views
3

私の個人的なプロジェクトでは、Tessract OCRエンジンのラッパーであるtessnetライブラリを試しました。しかし、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(); 

編集:私はプログラムがメモリのトンを使用して、このメモリを解放し、私の画像オブジェクトにdisposeの呼び出し、およびメモリリークの問題を解決したことに注意してください。

関連する問題