OpenCV计算机视觉项目实战(Python版)
上QQ阅读APP看书,第一时间看更新

1-4-3 等待按键的事件

OpenCV的cv2.waitKey( )函数会等待按键事件,语法如下:

     ret_key = cv2.waitKey(delay)

 ret_key:返回值,如果在指定时间内没有按下键盘的键,则返回值是-1。如果按下键盘的键,则返回值是按键的ASCII码。常用于检测键盘按键,对应的ASCII码值如下:

     Enter:13    Esc:27    Backspace:8    Space:32

 delay:单位是毫秒,每1000毫秒等于1秒。

使用OpenCV显示图像时可以使用cv2.waitKey(delay)设定图像显示的时间,或是在显示时间内按键盘上的任意键,也可以让cv2.waitKey( )函数执行结束。delay=0或省略,代表无限期等待。delay=1000相当于等待1秒。

程序实例ch1_4.py:让图像持续显示,直到按下键盘上任意键。

执行结果 这个程序会持续显示jk.jpg,直到按下键盘上任意键。

程序实例ch1_5.py:让图像显示5秒或按键盘上任意键后列出waitKey( )函数的返回值。

执行结果 图像显示结果可以参考ch1_2.py。下方左图是等待5秒且没有按键发生的Python Shell窗口结果,下方右图是直接按键盘E键的结果。

:执行此程序时,需要设置系统为英文输入模式,如果输入是一般键盘键,可以使用ret_value == ord(key)判断是否按了特定的键盘字符。

程序实例ch1_5_1.py:让图像持续显示,直到按下键盘的Q键。

执行结果 这个程序会持续显示jk.jpg,直到按下Q键。