2012-07-16 70 views
0

我正在開發項目,我需要每秒(或兩次)從IP攝像機獲取幀並以某種方式處理。 與從IP攝像機獲取非連續幀

CvCapture* capture = cvCaptureFromFile(ipSource); 

我從一個循環,我介紹一個(或兩個)獲得幀秒延遲拍攝的初始化後 -

frame = cvQueryFrame(capture); 

問題 - 我只得到連續的幀(從緩衝我想),而不是在我試圖得到它的框架。 我該怎麼做才能在我想要的時刻獲得框架?

回答

0

cvQueryFrame實際上調用cvGrabFrame()然後cvRetrieveFrame()。第一個功能從相機中檢索圖像並將其存儲在內部。第二幀實際解壓縮並將IPLImage返回給您。你可以手動調用它,並把你的處理器沉重的代碼放在它們之間。

其他選項(快速和骯髒)是運行一個不同的線程,將持續抓住幀。您可以輕鬆獲得最新的框架。

希望可以幫到..