cvQueryFrame会推进当前帧吗?

时间:2014-04-13 15:22:33

标签: opencv

我正在尝试使用O'Reilley的书来学习OpenCV,并且我发现样本程序会引发尽可能多的问题。在一个非常基本的节目中显示视频:

#include <highgui.h>
#include <string>

int main( int argc, char** argv){
  std::string name = "Example 2";

  cvNamedWindow(name.c_str(),CV_WINDOW_AUTOSIZE);
  CvCapture*  capture = cvCreateFileCapture( argv[1]);
  IplImage* frame;

  while(1) {
    frame = cvQueryFrame( capture );
    if ( !frame ) break;
    cvShowImage (name.c_str(), frame);
    char c = cvWaitKey(33);
    if (c == 27) break; //User hits ESC key - ASCII value 27
  }

  cvReleaseCapture( &capture );
  cvDestroyWindow(name.c_str());

}

我发现自己想知道为什么我看到的不仅仅是一帧。我在网上看到的关于cvQueryFrame的一切都说它检索当前帧。没有我在哪里看到有关“当前”框架如何/何时/何处前进的信息。

cvQueryFrame更像是从文件或流中读取,因为它读取数据然后准备读取下一段数据,或者当前帧以其他方式前进?

0 个答案:

没有答案