OpenCV Python 从摄像头捕获视频
通过使用OpenCV库中的 VideoCapture() 函数,很容易在OpenCV窗口上捕获来自摄像头的实时流。
这个函数需要一个设备索引作为参数。您的计算机可能连接了多个摄像头。它们通过从0开始的索引进行枚举,用于内置摄像头的索引为0。该函数返回一个VideoCapture对象。
相机打开后,我们可以通过 read() 函数连续读取帧。
read()函数读取下一个可用的帧,并返回一个值(True/False)。此帧现在使用 cvtColor() 函数在期望的颜色空间中呈现,并在OpenCV窗口上显示。
为了将当前帧捕获为图像文件,您可以使用 imwrite() 函数。
要将来自相机的实时流保存为视频文件,OpenCV提供了VideoWriter()函数。
The fourcc参数是用于视频编解码器的标准化代码。OpenCV支持各种编解码器,如DIVX,XVID,MJPG,X264等。fps和framesize参数取决于视频采集设备。
VideoWriter()函数返回一个VideoWriter流对象,连续将抓取的帧写入循环中。最后,释放帧和VideoWriter对象以完成视频的创建。
示例
以下示例从内置网络摄像头读取实时视频并将其保存到output.avi文件。