OpenCV 中 waitKey() 函数的作用
转自:http://blog.youkuaiyun.com/Micheal_w/article/details/41276903
函数原型为: C++: int waitKey(int delay=0) Python: cv2.waitKey([delay]) →
retval C: int cvWaitKey(int delay=0 ) Python: cv.WaitKey(delay=0) →
int函数功能: waitKey()函数的功能是不断刷新图像,频率时间为delay,单位为ms。 返回值为当前键盘按键值。
返回值:
如果delay>0,那么超过指定时间则返回-1;
如果delay=0,将没有返回值。
显示图像时,如果在imshow(“xxxx”,image)后加上while(cvWaitKey(n)==key),那么程序将会停在显示图像处,不运行其他代码,直到键盘值为key的响应之后。
delay>0 时,延迟”delay”ms,在显示视频时这个函数是有用的,用于设置在显示完一帧图像后程序等待”delay”ms,
再显示下一帧视频;如果使用waitKey(0)则只会显示第一帧视频。
如果程序想响应某个按键,可利用if(waitKey(1)==Keyvalue);
经常程序里面出现if( waitKey(10) >= 0 ) 是说10ms中按任意键进入此if块。
注意:
这个函数是HighGUI中唯一能够获取和操作事件的函数,所以在一般的事件处理中,它需要周期地被调用,除非HighGUI被用在某些能够处理事件的环境中。比如在MFC环境下,这个函数不起作用。