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.效果展现

代码展现


相关文章
|
3月前
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
101 0
|
5月前
|
计算机视觉 Python
OpenCV获取视频文件的属性并动态显示实战(附Python源码)
OpenCV获取视频文件的属性并动态显示实战(附Python源码)
51 0
|
3月前
|
机器学习/深度学习 Ubuntu Linux
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-1
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
57 1
|
4月前
|
存储 监控 开发工具
Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为AVI视频格式(C++)
Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为AVI视频格式(C++)
37 0
|
12天前
|
编解码 API 计算机视觉
opencv从视频文件读取视频内容,从摄像头读取保存视频内容
opencv从视频文件读取视频内容,从摄像头读取保存视频内容
|
4月前
|
计算机视觉 Python 索引
【Python Opencv】图片与视频的操作
【Python Opencv】图片与视频的操作
【Python Opencv】图片与视频的操作
|
4月前
|
算法 API 开发工具
Baumer工业相机堡盟工业相机如何使用BGAPISDK和OpenCV生成视频(C++)
Baumer工业相机堡盟工业相机如何使用BGAPISDK和OpenCV生成视频(C++)
26 0
|
5月前
|
存储 编解码 算法
使用Python和OpenCV构建具有人体检测功能的摄像头录制器
使用Python和OpenCV构建具有人体检测功能的摄像头录制器
|
5月前
|
机器学习/深度学习 算法 计算机视觉
python入门(六) opencv的安装,图片操作,绘制文字图形,视频操作
python入门(六) opencv的安装,图片操作,绘制文字图形,视频操作
|
5月前
|
编解码 计算机视觉 Python
OpenCV保存摄像头视频和视频文件操作实战(附Python源码)
OpenCV保存摄像头视频和视频文件操作实战(附Python源码)
258 0