转载自:https://blog.csdn.net/weixin_42904405/article/details/81986280
程序段里,
cap = cv2.VideoCapture(0)
VideoCapture()
中参数是0,表示打开笔记本的内置摄像头,参数是视频文件路径则打开视频,如cap = cv2.VideoCapture(“../test.avi”)
ret,frame = cap.read()
cap.read()
按帧读取视频,ret,frame
是获cap.read()
方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。
cv2.waitKey(1)
waitKey()
方法本身表示等待键盘输入,
参数是1
,表示延时1ms切换到下一帧图像,对于视频而言;
参数为0
,如cv2.waitKey(0)
只显示当前帧图像,相当于视频暂停,;
参数过大如cv2.waitKey(1000)
,会因为延时过久而卡顿感觉到卡顿。
c
得到的是键盘输入的ASCII码,esc
键对应的ASCII码是27,即当按esc
键是if
条件句成立。
调用release()
释放摄像头,调用destroyAllWindows()
关闭所有图像窗口。