OpenCV

waitKey

2023-03-08

cv2.waitKey[[opencv-python]] 中用于等待按键事件的函数。

语法

cv2.waitKey(delay)

  • delay: 等待时间,单位为毫秒,0 表示无限等待

使用

通过 [[imshow]] 显示图像或视频后等待按键事件:

1
import cv2
2
3
cv2.imshow("image", image)
4
cv2.waitKey(0)

默认情况下 waitKey(0) 会无线等待,直到按下任意按键,但在看处理视频流时,如果希望按指定按键退出,稍加修改就可以实现:

1
import cv2
2
3
while True:
4
cv2.imshow("video", frame)
5
# 按 q 键退出
6
if cv2.waitKey(1) & 0xFF == ord("q"):
7
break

如果希望按 ESC 键退出,可以修改为:

1
if cv2.waitKey(1) & 0xFF == 27:
2
break
  • 空格:32
  • ESC:27
  • Enter:13

或者设置多个按键执行不同操作:

1
while True:
2
cv2.imshow("video", frame)
3
key = cv2.waitKey(1) & 0xFF
4
if key == ord("q"):
5
break
6
elif key == ord("s"):
7
# 保存图像
8
cv2.imwrite("image.png", image)
9
elif key == 32:
10
# 暂停
11
cv2.waitKey(0)