Python-OpenCV中播放视频的代码经常写成如下的形式:
import cv2
cap = cv2.VideoCapture(para)
# para 可以是视频路径或rtsp地址等,当para=0时打开电脑摄像头
while True:
ret,frame=cap.read()
cv2.imshow('video', frame)
# 当按键“ESC”时,退出while循环,即退出播放
if cv2.waitKey(1) & 0xFF == 27:
break
cv2.destroyAllWindows()
cv2.waitKey(intNum)
表示等待intNum毫秒,如果这中间有键盘按键,则返回对应的ASCII码。Esc的ASCII码为27,即二进制代码0001 1011
0xFF为十六进制,对应的二进制代码为1111 1111
任何一个正整数,与1111 1111做&运算,其结果必然是他本身(因为正数的补码等于原码)
有的按键对应ASCII码的二进制不止八位(如小键盘),因此采用0xFF与运算&来排除干扰