📜  播放视频的 OpenCV C++ 程序(1)

📅  最后修改于: 2023-12-03 15:26:00.539000             🧑  作者: Mango

播放视频的 OpenCV C++ 程序

OpenCV是一个开源的计算机视觉库,它提供了许多图像和视频处理的功能。在本文中,我们将展示如何使用OpenCV C++在应用程序中播放视频。

准备工作

在开始编写代码之前,需要在计算机上安装OpenCV。如果您还没有安装它,请按照OpenCV官方网站上的说明进行安装。

还需要一些视频文件来测试我们的应用程序。在本教程中,我们将使用一个名为“test.mp4”的视频文件。请将此文件放在与应用程序相同的目录中。

编写代码

以下是一个基本的OpenCV C++代码,它使用VideoCapture类打开视频文件并将其显示在窗口中。

#include <opencv2/opencv.hpp>
#include <iostream>

int main(int argc, char** argv)
{
    cv::namedWindow("Video", cv::WINDOW_NORMAL);
    cv::resizeWindow("Video", 640, 480);

    cv::VideoCapture cap("test.mp4");

    if (!cap.isOpened())
    {
        std::cout << "Failed to open video file." << std::endl;
        return -1;
    }

    while (true)
    {
        cv::Mat frame;
        if (!cap.read(frame))
            break;

        cv::imshow("Video", frame);

        if (cv::waitKey(30) == 27)
            break;
    }

    cap.release();
    cv::destroyAllWindows();
    return 0;
}

该代码做了以下几点:

  • 引入必要的头文件并命名空间。
  • 创建一个名为“Video”的窗口,并将其大小调整为640x480。
  • 使用VideoCapture类打开名为“test.mp4”的视频文件。
  • 如果打开文件失败,输出错误消息并退出程序。
  • 循环读取视频帧并将其显示在窗口中。
  • 如果用户按下ESC键,退出循环。
  • 释放VideoCapture对象,关闭视频文件并关闭窗口。
运行代码

将上述代码保存为“main.cpp”,并在终端中使用以下命令编译它:

g++ main.cpp -o main `pkg-config --cflags --libs opencv4`

然后运行生成的可执行文件:

./main

如果一切顺利,您应该会在一个名为“Video”的窗口中看到正在播放的视频。

总结

在本文中,我们展示了如何使用OpenCV C++在应用程序中播放视频。使用VideoCapture类,可以轻松地打开视频文件并读取它的帧。同时,我们还向您展示了如何将帧显示在OpenCV窗口中,并如何在用户按下ESC键时退出循环。