Python使用CV2库捕获和保存摄像头视频
关于cv2库的安装和使用基础可参见https://blog.youkuaiyun.com/cnds123/article/details/126547307
特别提示:CV2指的是OpenCV2(Open Source Computer Vision Library),安装的时候是 opencv_python,但在导入的时候采用 import cv2。
学习本文需要你的计算机有摄像头,笔记本一般内置有摄像头,若是台式机可以连接一个USB摄像头。
捕获视频帧
使用 OpenCV 可以捕获摄像头输出的视频流,并且可以对每一帧视频进行处理。下面是一个简单的示例代码,演示如何从摄像头中捕获视频帧并显示到屏幕上:
import cv2
#定义cv2.VideoCapture 类型的对象
cap = cv2.VideoCapture(0)
#isOpened() 用来判断是否捕获到视频
if not cap.isOpened():
print("无法打摄像机")
exit()
while True:
# 如果正确读取帧,ret为True,cap.read() 方法从摄像头中读取一帧视频
ret, frame = cap.read()
if not ret:
break
# 显示帧视频
cv2.imshow('frame', frame)
# 按 'q' 键退出程序
if cv2.waitKey(1) == ord('q'):
break
# 释放摄像头并关闭所有窗口
cap.release()
cv2.destroyAllWindows()
说明,VideoCapture 对象传入了参数 0,表示设备索引,设备索引就是指定哪个摄像头的数字。正常情况下,一个摄像头会被连接(就像我的情况一样)。所以我简单地传0。