python中VideoCapture(),read(),waitKey()的使用

假如有以下程序


import cv2
cap = cv2.VideoCapture()
while cap.isOpened():
	ret,frame = cap.read()
	cv2.imshow('视频',frame)
	c = cv2.waitKey(1)
	if c == 27:
		break
	
cap.release()
cv2.destroyAllWindows()

说明:
程序段里,
1、cv2.VideoCapture()函数:
cap = cv2.VideoCapture(0)
VideoCapture()中参数是0,表示打开笔记本的内置摄像头。
cap = cv2.VideoCapture("…/1.avi")
VideoCapture("…/1.avi"),表示参数是视频文件路径则打开视频。

2、cap.isOpened()函数:
返回true表示成功,false表示不成功

3、ret,frame = cap.read()函数:
cap.read()按帧读取视频,ret,frame是获cap.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。

4、cv2.waitKey()函数:
参数是1,表示延时1ms切换到下一帧图像,参数过大如cv2.waitKey(1000),会因为延时过久而卡顿感觉到卡顿。
参数为0,如cv2.waitKey(0)只显示当前帧图像,相当于视频暂停。

5、cap.release()与destroyAllWindows()函数:
cap.release()释放视频,调用destroyAllWindows()关闭所有图像窗口。

6、
c得到的是键盘输入的ASCII码,esc键对应的ASCII码是27,即当按esc键是if条件句成立。

你可能感兴趣的:(python)