[英]Converting OpenCV to JavaCV - Need help in function 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.