可能重复:
OpenCV - cvWaitKey( )
我想过滤视频帧。
for(;;)
{
cap.read( frame);
medianBlur(frame,framedst,5);
imshow("frame",frame);
imshow("framedst",framedst);
if( waitKey (30) >= 0) break;
}
waitKey(30)
是什么意思?因为如果我注释掉if( waitKey (30) >= 0) break;
行,则上述代码无效!
答案 0 :(得分:22)
函数waitKey()
等待“延迟”(此处为30毫秒)的键事件。正如OpenCV documentation中所解释的,HighGui(imshow()
是HighGui的函数)需要定期调用waitKey,以便处理其事件循环。
也就是说,如果你不调用waitKey,HighGui就无法处理重绘,调整大小,输入事件等窗口事件。所以只需调用它,即使延迟1ms:)