OpenCV中的waitkey()

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与运算&来排除干扰


版权声明:本文为qq_43360420原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。