15.【opencv写入录制视频】

简介: 15.【opencv写入录制视频】

(一)、什么是视频保存?

本次课程讲:如果将我们通过电脑摄像头录取的视频进行代码保存到我们的文件中去,以及判断我们加载的图像是否被成功录入.

(二)、知道什么APL?

(1)、VideoWriter 类:可以将多个视频帧保存为文件.

1.1参数一为:输出文件(路径);
"E:\\视频\\out.mp4"
1.2参数二为:多媒体文件格式(int型);

JPMG(.mp4)、XVID(.val)

int coder = VideoWriter::fourcc('J','P','M','G');
1.3参数三为:视频帧度 (int型);25/24
1.4参数四为:清晰度(Size型(wideth,height));

获取本机电脑的清晰度:

int width = cap.get(CAP_PROP_FRAME_WIDTH);
int height = cap.get(CAP_PROP_FRAME_HEIGHT);
1.5参数五为:色彩 (bool型)(true为真。0为假);
1.6总结:
VideoWriter vw("E:\\视频\\out.mp4",coder,25.0,Size(width, height),true);

(2)、write方法、写入文件(把frame写入文件中去)、并进行了压缩编码.

Videowrite的对象.write(图像);

vw.write(fram1);

(3)、release在关闭文件的时候,并强制把缓存区中的数据强制输出到磁盘中.


Videowrite的对象.release()


(三)、文章思路是什么?

首先我们要设置opencv的头文件、然后进行窗口设置,再然后建立VideoCapture对象获取我们的摄像机,然后设置VideoWriter保存文件对象、进行构造函数填充、然后进行while循环判断是否打开摄影设备成功,如果成功救读入数据帧,然后判断是否读入数据帧,如果读入数据帧,那么救开始展示图像,并进行写入操作,然后设置键盘等待时间为25,进行录制,最后

关闭摄影设备、关闭读入设备.

(四)、实战项目:

1.代码展现:

#include <iostream>
#include <string.h>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
  Mat fram1;  
  namedWindow("视频", WINDOW_AUTOSIZE);
  VideoCapture  cap(0);
  int coder = VideoWriter::fourcc('J','P','M','G');
  int width = cap.get(CAP_PROP_FRAME_WIDTH);
  int height = cap.get(CAP_PROP_FRAME_HEIGHT);
  VideoWriter vw("E:\\视频\\out.mp4",coder,25.0,Size(width, height),true);         //
  while (cap.isOpened())           //假如说被打开就为真
  {
    //cap >> fram1;
    cap.read(fram1);  
    if (fram1.empty())break;
    imshow("视频", fram1);
    vw.write(fram1);
    if (waitKey(25) == 27)break;
  }
  cout << "已经退出程序!" << endl;
  cap.release();
  vw.release();
  return 0;
}

2.效果展现

代码展现


相关文章
|
8月前
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
|
3月前
|
计算机视觉
Opencv学习笔记(八):如何通过cv2读取视频和摄像头来进行人脸检测(jetson nano)
如何使用OpenCV库通过cv2模块读取视频和摄像头进行人脸检测,并提供了相应的代码示例。
146 1
|
3月前
|
编解码 关系型数据库 计算机视觉
Opencv学习笔记(十一):opencv通过mp4保存为H.264视频
本文介绍了如何在OpenCV中通过使用cisco开源的openh264库来解决不支持H.264编码的问题,并提供了完整的代码示例。
222 0
Opencv学习笔记(十一):opencv通过mp4保存为H.264视频
|
5月前
|
计算机视觉 索引
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
本文介绍了解决OpenCV读取视频失败的错误,指出问题通常由视频路径错误或摄像头索引错误导致,并提供了相应的解决方法。
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
|
8月前
|
机器学习/深度学习 Ubuntu Linux
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-1
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
|
6月前
|
机器学习/深度学习 XML 计算机视觉
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它提供了大量的函数和工具,用于处理图像和视频数据。
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它提供了大量的函数和工具,用于处理图像和视频数据。
|
7月前
|
计算机视觉
OpenCV加载视频
OpenCV加载视频
|
7月前
|
Java 开发工具 计算机视觉
Java使用OpenCV3.2实现视频读取与播放
Java使用OpenCV3.2实现视频读取与播放
91 0
|
8月前
|
存储 计算机视觉 流计算
【OpenCV】计算视频的光流并跟踪物体calcOpticalFlowPyrLK
【OpenCV】计算视频的光流并跟踪物体calcOpticalFlowPyrLK
350 0
|
8月前
|
编解码 API 计算机视觉
opencv从视频文件读取视频内容,从摄像头读取保存视频内容
opencv从视频文件读取视频内容,从摄像头读取保存视频内容
下一篇
开通oss服务