视频文件及摄像头的使用
这一段其实一开始就已经了解过了,这里算是复习一下
视频的读取(从文件及摄像头)
读取视频文件和摄像头,实际上只是修改cap文件的获取方式而已
void Demo::video_demo(Mat &image) {
VideoCapture cap1(0);
//打开摄像头
VideoCapture cap2("视频文件路径");
//读取视频文件
Mat frame;
//创建一帧
while (true) {
//cap >> frame;
cap1.read(frame);
//读取图像
imshow("video", frame);
if (waitKey(20) == 27)
break;
}
}
在结束视频操作后,一定要将cap释放,养成好习惯
cap1.release();
cap2.release();
视频的保存
视频有许多的清晰度,HD,SD,720P,1080P,4K,这些不同的清晰度对应的每一帧的图像大小也不同,对于我们已经获取的视频文件,可以获取他们对应的视频属性
//frame的意思是帧
int width = cap1.get(CAP_PROP_FRAME_WIDTH);//宽
int height = cap1.get(CAP_PROP_FRAME_HEIGHT);//高
int count = cap1.get(CAP_PROP_FRAME_COUNT);//总帧数
int fps = cap1.get(CAP_PROP_FPS);//每秒帧数
对视频的保存,可以使用