4.2 OpenCV视频输入和相似性度量
视频有两种获得形式:摄像头传来的实时视频流 和 读取存储介质中的视频文件。在OpenCV中,视频捕获的所有函数都集成在了
VideoCaptureC++ 类里面了,它本身底层是依赖FFmpeg开源库。视频是由连续的图像组成的,每一幅图像称为一帧(frame)。
首先,定义一个
VideoCapture类的对象来打开和获取视频流,具体可以通过它的构造函数或
open成员函数实现。如果参数是 路径名+文件名 组成的字符串,则打开指定的视频文件。如果参数是一个int型数,则将对象绑定到一台摄像机上,该int型数代表了摄像机的设备号。如果只连接了一个摄像机,则参数为 0 即可。
调用析构函数时,会自动关闭视频。如果希望提前关闭,则调用
release 成员函数。
const string sourceReference = argv[1],sourceCompareWith = argv[2];
VideoCapture captRefrnc(sourceReference);
// 或者
VideoCapture captUndTst;
captUndTst.open(sourceCompareWith);
用 isOpened 函数检查视频是否成功打开了。
if ( !captRefrnc.isOpened())
{
cout << "Could not ope