我的系統編程課程有作業。 一切都很順利,沒有任何內存泄漏,直到我使用opencv(仍然是初學者)。使用opencv時發生嚴重內存泄漏(opencv和C++)
基本上,我有一個學生課程和課程班,我必須爲正確的課程(選修和PG/CS課程)分配正確類型的學生(計算機科學學生,PG學生..)。
我做了所有我必須做的事情,現在最後一步是顯示誰的畢業彩色圖像和誰沒有畢業的灰度圖像。做完了全部。
我做了處理打開圖像的imagehandler類,保存圖片到文件,初始化新的圖像和類似轉換的所有功能,RGB和轉換爲灰度..
這imagehandler類有圖像的場這是一個:
cv::Mat m_image;
現在,學生類中,我做了每個學生都有一個imagehandler對象,這是我自己的圖像存儲到它。
我甚至在imagehandler類的析構函數:
imagehandler::~imagehandler(){
m_image.release();
}
之前,我開始用OpenCV的步驟(之前我連裝的OpenCV和嵌入式什麼,我需要在我的代碼做),我沒有內存泄漏在所有。 我編程(和所有工作)的opencv步驟後,我有重大泄漏。
這裏的valgrind的日誌文件(必須把它糊箱,因爲它太大了在這裏): valgrind.log
的誤差主要是,當我讀到的圖像,保存圖像,調整圖像,轉換爲rgb或灰度...所有opencv相關的泄漏。
當你點擊valgrind日誌的鏈接時,它會告訴你錯誤的關鍵。嘗試複製粘貼鏈接!抱歉給你帶來不便! – TheNotMe
不是你不應該試圖解決這個問題,但是如果你所需要做的就是生成你的圖像,然後大概終止程序,那麼對於這個任務來說,內存泄漏是否真的很重要? –
當然,這是一門系統編程課程。一個重要的主題是內存管理,我們被指示正確管理它,我們不應該有任何泄漏。 – TheNotMe