我正在阅读一个 avi 文件,并做一些背景减法工作。奇怪的是,当我使用 时cvRetrieveFrame
,我得到了一个奇怪的图像,如下所示:
起源:
cvRetrieveFrame 返回:
我不知道有什么问题。这是我的代码片段。
CvCapture* readerAvi = cvCaptureFromAVI( filename.c_str() );
if(readerAvi == NULL)
{
std::cerr << "Could not open AVI file." << std::endl;
return 0;
}
// retrieve information about AVI file
cvQueryFrame(readerAvi); //....get some information, width, height, ....
// grad next frame from input video stream
if(!cvGrabFrame(readerAvi))
{
std::cerr << "Could not grab AVI frame." << std::endl;
return 0;
}
frame_data = cvRetrieveFrame(readerAvi);