[英]OpenCV Error: Insufficient memory
我正在用c ++風格的opencv 2.3開發一個項目。
在應用程序中,我加載視頻並處理每個幀,並對Mat對象進行一些處理。 一段時間后,我收到內存不足錯誤。
我像這樣捕獲幀:
FCapture >> FImage;
FDetector->execute(FImage);
在執行過程中,我復制圖像並將其保存在std :: Vector列表中。 並檢查像這樣的圖像斑點:
vector<vector<Point> > contours;
findContours(FImage, contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);
我知道很難回答問題可能在哪里,但是不可能在此處發布整個程序代碼。 也許有人可以告訴我在哪里我必須小心復制Mat對象或其他OpenCv對象,這可能是錯誤的原因。
有趣:
在執行過程中,我復制圖像並將其保存在std :: Vector列表中
以及以下語句:
一段時間后,我收到內存不足錯誤。
OpenCV圖像可能會很大,這取決於它們的大小,並且根據您所說的,我認為您的向量增長得更快,然后您就可以從其中刪除數據 ,從而導致內存不足錯誤。
有道理吧? 如果您繼續向引導程序添加數據,則有一天您將用光內存來存儲新數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.