cvGrabFrame
從攝像頭或者視頻檔案中抓取幀int cvGrabFrame( CvCapture* capture );
capture
視頻獲取結構。
函式cvQueryFrame從攝像頭或者檔案中抓取一幀,然後解壓並返回這一幀。這個函式僅僅是函式cvGrabFrame和函式cvRetrieveFrame在一起調用的組合。返回的圖像不可以被用戶釋放或者修改。
抓取後,capture被指向下一幀,可用cvSetCaptureProperty調整capture到合適的幀。
注意: cvQueryFrame返回的指針總是指向同一塊記憶體。建議cvQueryFrame後拷貝一份。而且返回的幀需要FLIP後才符合OPENCV的坐標系。
若返回值為NULL,說明到了視頻的最後一幀或失敗!
cvGrabFrame
從攝像頭或者視頻檔案中抓取幀
int cvGrabFrame( CvCapture* capture );
capture
視頻獲取結構指針。
函式cvGrabFrame從攝像頭或者檔案中抓取幀。被抓取的幀在內部被存儲。這個函式的目的是快速的抓取幀,這一點對同時從幾個攝像頭讀取數據的同步是很重要的。被抓取的幀可能是壓縮的格式(由攝像頭/驅動定義),所以沒有被公開出來。如果要取回獲取的幀,請使用cvRetrieveFrame。
cvQueryFrame 是函式 cvGrabFrame 和函式 cvRetrieveFrame 的組合調用,直接返回一幅圖像。單獨cvGrabFrame不能。