来自openCV的cvLoadImage()+ cvShowImage()显示一个灰色框

时间:2011-10-30 21:25:16

标签: c++ opencv

当我运行以下代码时,图像被保存,我可以看到它们,并且它们就是我想要的目录,但是显示它们的调用会带来20个窗口的级联,其中没有一个包含图像我想加载;所有的窗户都是灰色的。

  for(int i = 1; i <= 20; i++)
  {
     img = cvQueryFrame(capture);
     num = intToString(i);
     fname = base + num + jpg;
     winName = base + num; 

     cvSaveImage( fname.c_str(), img );
     //img = cvLoadImage(fname.c_str(), -1);
     cvNamedWindow(winName.c_str(), CV_WINDOW_AUTOSIZE);
     cvMoveWindow(winName.c_str(), 15*i, 15*i);       //cascade windows
     cvShowImage(winName.c_str(), img);
  }

我注释掉的那一行是我在保存后尝试重新加载图片的地方,但我仍然得到相同的结果。有谁知道我的问题是什么?

1 个答案:

答案 0 :(得分:0)

我通过调用cvWaitKey()解决了这个问题。从文档:注意:此函数是HighGUI中唯一可以获取和处理事件的方法,因此需要定期调用它以进行正常的事件处理