环保企业网站模板,国内做网站最大的公司,网页开发工具,网站建设论文大全OpenCV#xff08;Open Source Computer Vision Library#xff09;是一个功能强大的开源计算机视觉库#xff0c;它提供了丰富的功能#xff0c;包括读取和保存视频。下面分别演示如何使用OpenCV来读取视频和保存视频。
1. 读取视频#xff1a;
在OpenCV中我们要获取一…OpenCVOpen Source Computer Vision Library是一个功能强大的开源计算机视觉库它提供了丰富的功能包括读取和保存视频。下面分别演示如何使用OpenCV来读取视频和保存视频。
1. 读取视频
在OpenCV中我们要获取一个视频需要创建一个VideoCapture对象指定你要读取的视频文件 创建读取视频的对象 cap cv.VideoCapture(filepath)参数 filepath: 视频文件路径
要读取视频首先需要打开视频文件然后逐帧读取视频的每一帧。以下是一个示例代码演示如何使用OpenCV读取视频 //打开视频文件VideoCapture capture;Mat frame;framecapture.open(path);//path为视频文件的路径//检查是否成功打开视频if(!capture.isOpened()){LOGD(无法打开视频);}//循环读取每一帧frameint i0;while(capture.read(frame)) {//在这里可以对每一帧frame进行处理imwrite(/sdcard/DCIM/frameto_string(i).png,frame);//保存视频每一帧到相册i;} 2. 保存视频
在OpenCV中保存视频使用的是VedioWriter对象在其中指定输出文件的名称如下所示
1.创建视频写入的对象 out cv2.VideoWriter(filename,fourcc, fps, frameSize) 参数
filename视频保存的位置fourcc指定视频编解码器的4字节代码fps帧率frameSize帧大小
要保存视频首先需要创建一个视频写入对象然后逐帧将图像写入该对象。以下是一个示例代码演示如何使用OpenCV保存视频 //打开视频文件 VideoCapture capture;Mat frame;framecapture.open(path);if(!capture.isOpened()){LOGD(无法打开视频);}//获取视频基本信息int frame_width static_castint(capture.get(cv::CAP_PROP_FRAME_WIDTH));int frame_height static_castint(capture.get(cv::CAP_PROP_FRAME_HEIGHT));//定义视频编码器及其参数double fps capture.get(cv::CAP_PROP_FPS);int codecVideoWriter::fourcc(M,J,P,G);//设置新的视频的路径和参数VideoWriter output;
output.open(/sdcard/DCIM/framevideo4804.avi,CAP_OPENCV_MJPEG,codec,fps,cv::Size(frame_width, frame_height),true);//判断是否创建出新的视频文件 if (!output.isOpened()){LOGD(无法创建输出视频文件!);return ;}int i0;while(capture.read(frame)) {//在这里可以对视频的每一帧frame进行处理// 将处理后的帧写入输出到新的视频文件中output.write(frame);}