- OpenCV计算机视觉项目实战(Python版)
- 洪锦魁
- 453字
- 2024-12-27 18:55:58
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:让图像持续显示,直到按下键盘上任意键。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P18_1315.jpg?sign=1739030282-R5w6iIfMHNCQ8r0JdCYh3hNt6zCEag4W-0-66d241066d5c9fba9d78f0e874e86486)
执行结果 这个程序会持续显示jk.jpg,直到按下键盘上任意键。
程序实例ch1_5.py:让图像显示5秒或按键盘上任意键后列出waitKey( )函数的返回值。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P19_1324.jpg?sign=1739030282-7T9C3o0P3BNyVETTPe88BRZl2afY2wru-0-4498e7010aeba90a3bfaca7d0909d730)
执行结果 图像显示结果可以参考ch1_2.py。下方左图是等待5秒且没有按键发生的Python Shell窗口结果,下方右图是直接按键盘E键的结果。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P19_1327.jpg?sign=1739030282-pLmqcXmRDB3T0m9bRwsWMHQUskYJjntz-0-6253177e01221454d115744b927d4c06)
注:执行此程序时,需要设置系统为英文输入模式,如果输入是一般键盘键,可以使用ret_value == ord(key)判断是否按了特定的键盘字符。
程序实例ch1_5_1.py:让图像持续显示,直到按下键盘的Q键。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P19_1330.jpg?sign=1739030282-Mpc2NzUikrToEvmx0eDxgQBZGMnSpyDc-0-846f86a22e8ba21f01deffbc76a9529b)
执行结果 这个程序会持续显示jk.jpg,直到按下Q键。