当我运行以下代码时,图像被保存,我可以看到它们,并且它们就是我想要的目录,但是显示它们的调用会带来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);
}
我注释掉的那一行是我在保存后尝试重新加载图片的地方,但我仍然得到相同的结果。有谁知道我的问题是什么?
答案 0 :(得分:0)
我通过调用cvWaitKey()
解决了这个问题。从文档:注意:此函数是HighGUI中唯一可以获取和处理事件的方法,因此需要定期调用它以进行正常的事件处理