OpenCV从摄像头获取帧并写入视频文件

Opencv资料下载—提取码:x3t1

//注意的是,视频文件所在的路径需要存在,例如D:libo_output/output.avi这个目录需要存在。
//要正确打开视频文件,计算机必须安装有对应的解码器,否则VideoCapture没法理解视频格式
//经过测试发现,openCV不能正常读取mp4文件的总帧数和总帧率,opencv能正常读取AVI问件的总帧数和帧率
//显示中用waitKey,即方便控制退出显示循环,又使imshow不会因为两次之间时间过短而显示不出图像
#include

#include
#include
#include

using namespace std;
using namespace cv;

int main()
{
VideoCapture cap(0);
VideoWriter wri;

//将从设备或文件获得的帧写入指定的视频文件中
string outFile = "../libo_output/output.avi";

//获得帧的宽高并在控制台显示
int frameWidth, frameHeight;
frameWidth = static_cast(cap.get(CV_CAP_PROP_FRAME_WIDTH));
frameHeight = static_cast(cap.get(CV_CAP_PROP_FRAME_HEIGHT));
//cout << "总帧数:" << cap.get(CV_CAP_PROP_FRAME_COUNT)< 0)//单击激活GUI活动窗口,按任意键,即满足if条件,终止循环
        stopDisplay = true;

}
cout << "写入输出的视频文件总帧数:" << count << endl;
//释放对象
waitKey(0);
cap.release();
wri.release();
return 0;

}

你可能感兴趣的:(OpenCV从摄像头获取帧并写入视频文件)