簡體   English   中英

OpenCV錯誤:內存不足

[英]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.

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