簡體   English   中英

cvHoughLines2的內存釋放問題

[英]Memory release problem with cvHoughLines2

我的javaCV有問題:

CvMemStorage storage = CvMemStorage.create();

CvSeq lines = cvHoughLines2( houghInputImage, storage.getPointer(),
     cv.CV_HOUGH_PROBABILISTIC, rho, Math.PI/theta, threshold, param1, param2 );

// ...

storage.release();

此代碼不會釋放內存。 使用內存增加直到筆記本電腦死掉。 如果我注釋掉cvHoughLines2行,那么就沒有問題,使用的內存不會增加。

您能幫我為什么會這樣嗎? 我怎么了

我的環境:XP Home,OpenCV 2.1,JavaCV20100730,JRE6。

我也有JavaCV這個問題。 我不確定確切的問題在哪里,但我通過替換以下行來解決了:

storage.release();

與:

cvClearMemStorage(lines.storage);

它似乎產生的CvSeq ,而不是你最初傳遞的一個釋放存儲對象的存儲是非常重要的。

希望對您有所幫助!

存儲處理在OpenCV中正常工作,因此可能是在JavaCV中發現了問題。

我假設您在循環中調用了上面的代碼。 您應嘗試將創建的存儲移動並在循環外釋放,並且可能僅在運行結束時釋放內存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM