0
我發現在這個簡單的OpenCV的代碼中的內存泄漏:內存泄漏在OpenCV中集大小
VideoCapture* capture = new VideoCapture(0);
Mat frame;
while (true) {
capture->set(CV_CAP_PROP_FRAME_WIDTH, 1600);
capture->set(CV_CAP_PROP_FRAME_HEIGHT, 1200);
capture->read(frame);
}
這是整個代碼。每次通過while循環時,幾個MB都會泄漏。我剛剛嘗試了frame.release(),但它沒有幫助。刪除設置大小的線可以解決問題,但在我的真實代碼中,我想改變大小,所以這不是解決方案。它以正確的尺寸獲得圖像。
我在做一些愚蠢的事情嗎?
順便說一下,我使用的是Logitech B910網絡攝像頭。
謝謝!
,因爲你讀有一種靜態幀/指向駕駛員記憶,您可以加入您的OS/OpenCV的版本?這可能是一個非常具體的捕獲實現的問題 – berak
我使用Ubuntu 12.04的apt-get版本,它是OpenCV 2.3.1。 – CGW