OpenCV视频序列处理全解析
1. 视频文件读取基础
在处理视频序列之前,我们需要先了解如何读取视频文件。使用 cv::VideoCapture
类可以轻松实现这一功能。在读取视频文件时,需要注意计算机必须安装相应的编解码器(codec),否则 cv::VideoCapture
将无法解码输入文件。通常,如果你的视频播放器(如Windows Media Player)能够打开该视频文件,那么OpenCV也应该能够读取它。
cv::VideoCapture capture("video.mp4");
最后调用 release
方法可以关闭视频文件,但由于 cv::VideoCapture
析构函数也会调用 release
,所以这一步不是必需的。
除了读取本地视频文件,还可以读取连接到计算机的摄像头产生的视频流,只需要在 open
函数中指定一个ID号(整数)即可。指定ID为0将打开默认安装的摄像头。在这种情况下, cv::waitKey
函数用于停止处理变得至关重要,因为摄像头的视频流会被无限读取。
cv::VideoCapture capture(0);
此外,还可以从网络加载视频,只需提供正确的地址。