opencv中的cvWaitKey

来源:互联网 发布:ios上python编辑器推荐 编辑:程序博客网 时间:2024/05/16 18:41

涨姿势

用opencv来显示图像或视频时,如果后面不加cvWaitKey这个函数,基本上是显示不出来的。

1.显示图像,一般要在cvShowImage()函数后加一句cvWaitKey(0);否则图像无法正常显示。


2.显示视频,一般要在cvShowImage()函数后加一句cvWaitKey(2);【这里的2是2ms的意思,具体数字根据视频帧率来定】否则视频无法正常播放。


cvWaitKey(int delay)说明:

此函数试图让程序等待delay ms后在继续运行其后面的语句。

若delay=0,则无限期等待,直到按下键盘任意按键。

此函数的返回值是按下的键的值。

此函数仅对opencv产生的窗口有效(cvNamedWindow)


以下代码可以得到某个按键的值。

------------------------------

c = cvWaitKey(10);
printf(\"%c,%d\",c,c);

------------------------------


解释:

1.显示图像时,一般要用cvWaitKey();或者cvWaitKey(0);此时程序显示出图像后将暂停,等待接收一个键盘输入;有点类似调c程序时在最后加的getch();若没有这句话,则显示图像的代码很快就执行过去了,所以要用cvWaitKey()来暂停。


2.显示视频时,一般用cvWaitKey(delay) delay是延时的ms数。表示显示一帧,然后等delay ms ,再显示下一帧。如果没有cvWaitKey函数,则视频所有的帧会很快速的显示一遍(非常快,以至于人眼无法看清........)


0 0