1、cap = cv2.VideoCapture(0)
VideoCapture()中参数是0,表示打开笔记本的内置摄像头,参数是视频文件路径则打开视频,如cap = cv2.VideoCapture("…/test.avi")
#计算当前位置在视频中是多少毫秒temp1=cap.get(cv2.CAP_PROP_POS_MSEC)
#计算视频的高temp2=cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
#计算视频的宽temp3=cap.get(cv2.CAP_PROP_FRAME_WIDTH)
#得到视频的帧率temp4=cap.get(cv2.CAP_PROP_FPS)
#得到视频的编码方式temp5=cap.get(cv2.CAP_PROP_FOURCC)
#得到视频的总帧数temp6=cap.get(cv2.CAP_PROP_FRAME_COUNT)
2、摄像头初始化成功
videoCapture.isOpened()
返回True即成功
3、ret,frame = cap.read()
cap.read()按帧读取视频,ret,frame是获cap.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。
4.保存视频
cv2.imwrite(savepath, frame)
5、cv2.waitKey(1),waitKey()方法本身表示等待键盘输入,
参数是1,表示延时1ms切换到下一帧图像,对于视频而言
参数为0,如cv2.waitKey(0)只显示当前帧图像,相当于视频暂停
6、调用release()释放摄像头,调用destroyAllWindows()关闭所有图像窗口。
videoCapture.release()
cv2.destroyAllWindows()

本文详细介绍了使用OpenCV进行视频处理和摄像头操作的方法,包括如何读取摄像头或视频文件,获取视频属性如帧率、分辨率等,以及读取和保存视频帧的基本流程。此外,还讲解了如何控制视频播放速度和关闭摄像头资源。
6578

被折叠的 条评论
为什么被折叠?



