21xrx.com
2024-12-22 22:18:12 Sunday
登录
文章检索 我的文章 写文章
如何使用C++和OpenCV保存视频
2023-07-05 00:11:33 深夜i     --     --
C++ OpenCV 保存 视频 编程

C++和OpenCV是两个广泛应用于计算机视觉领域的工具。在许多计算机视觉应用程序中,保存视频是一个非常重要的任务。本文将介绍如何使用C++和OpenCV保存视频。

步骤1:安装OpenCV

首先需要在本地计算机上安装OpenCV。可以从官方网站中下载适合自己操作系统的版本。安装完成后,需要将OpenCV的头文件和库文件添加到C++ IDE中。

步骤2:编写代码

打开C++ IDE,创建一个新的C++源代码文件,并添加以下代码:


#include <opencv2/opencv.hpp>

#include <iostream>

using namespace cv;

using namespace std;

int main() {

  // 视频文件的名称和视频的帧率

  string filename = "output.avi";

  double fps = 30.0;

  // 获取默认的摄像头输入

  VideoCapture cap(0);

  // 获取摄像头的宽度和高度

  int frame_width = cap.get(CAP_PROP_FRAME_WIDTH);

  int frame_height = cap.get(CAP_PROP_FRAME_HEIGHT);

  // 创建VideoWriter对象

  VideoWriter video(filename, VideoWriter::fourcc('M', 'J', 'P', 'G'), fps, Size(frame_width, frame_height), true);

  // 检查视频是否成功写入

  if (!video.isOpened())

    cout << "Error: Failed to open video file." << endl;

    return -1;

  

  // 循环读取视频帧并将其保存到文件中

  while (true) {

    Mat frame;

    bool success = cap.read(frame);

    // 检查是否成功读取帧

    if (!success)

      cout << "Error: Failed to read frame from camera." << endl;

      break;

    

    // 通过write方法将视频帧写入视频文件

    video.write(frame);

    // 显示视频帧

    imshow("Frame", frame);

    // 按'q'键退出循环

    if (waitKey(10) == 'q')

      break;

    

  }

  // 释放VideoCapture和VideoWriter对象

  cap.release();

  video.release();

  return 0;

}

步骤3:运行代码

保存代码并编译。然后运行代码,打开摄像头并开始录制视频。按下“q”键以停止录制。

步骤4:查看保存的视频

在C++代码的相同目录下,会生成名为“output.avi”的视频文件。

总结

本文简要介绍了如何使用C++和OpenCV保存视频。可以使用代码轻松地从摄像头获取视频帧并将其保存到文件中。需要使用此功能时,可以根据自己的具体情况进行修改和调整。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复