购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.7 键盘事件

最简单、最常用的键盘事件是等待按键事件,它是由waitKey函数来实现的。无论是刚开始学习OpenCV,还是使用OpenCV进行开发调试,都可以看到waitKey函数的身影,然而最基础的往往容易忽略,在此可以好好了解一下这个基础又常用的waitKey函数。该函数延时一段时间,返回按键的值。当参数为0时就永久等待,直到用户按键。函数声明如下:

     waitKey([delay]) → retval

其中,参数delay是延时的时间,单位是ms,默认是0,表示永久等待。该函数仅在至少创建了一个HighGUI窗口并且该窗口处于活动状态时才有效。如果有多个HighGUI窗口,则其中任何一个都可以处于活动状态。

waitKey函数是一个等待键盘事件的函数,参数值delay<=0时等待时间无限长,delay为正整数 n 时至少等待 n 毫秒的时间才结束。在等待期间按下任意按键时函数结束,返回按键的键值(ascii码),等待时间结束仍未按下按键则返回-1。该函数用在处理HighGUI窗口程序中,最常见的是与显示图像窗口imshow函数搭配使用。

【例3.11】 等待按键10秒后销毁窗口

     import cv2 as cv
     import numpy as np
     
     img=np.zeros((100,200))
     cv.imshow("windowname", img);
     cv.waitKey(0);#按下任意按键,图片显示结束,返回按键键值
     
     cv.imshow("windowname2", img);
     cv.waitKey(5000);#按下任意按键,图片显示结束,返回按键键值
     
     cv.destroyAllWindows()

第一次显示的窗口,因为waitKey的参数是0,所以如果不去按键,则会一直显示。第二次显示的窗口,waitKey的参数是5000,即5s,如果5s内不去按键,就会自动返回,最后销毁所有窗口,程序结束。

运行工程,结果如图3-11所示。

图3-11

总之,waitKey函数是非常简单而且常见的函数,开始入门的时候需要掌握好它,开发调试的时候waitKey函数同样是一个好帮手。 Sm59ImMun92R/otdJMJ+vbCkYgKqzToyjUYLLgRYh0u419mPVodoI8Bh/p3iPC+b

点击中间区域
呼出菜单
上一章
目录
下一章
×