Рубрики

Программа OpenCV C ++ для воспроизведения видео

Ниже приведено объяснение кода C ++ для воспроизведения видео на C ++ с использованием инструмента OpenCV.
Что нужно знать:
(1) Код будет компилироваться только в среде Linux.
(2) Для запуска в Windows, пожалуйста, используйте файл: 'play_video.o' и запустите его в cmd. Однако, если он не запускается (проблема в архитектуре системы), скомпилируйте его в
Windows, делая подходящие и очевидные изменения в коде, как: Использование
<iostream.h> вместо <iostream>.
(3) Команда компиляции: g ++ -w vid.cpp -o vid `pkg-config –libs opencv`
(4) Запустить команду: ./vid
(5) Пожалуйста, убедитесь, что видео: «Bumpy.mp4» находится в том же месте.
Перед запуском кода убедитесь, что в вашей системе установлен OpenCV.
Фрагмент кода:

#include "opencv2/highgui/highgui.hpp"
// highgui - an interface to video and image capturing.

#include 
// The header files for performing input and output.

using namespace cv;
// Namespace where all the C++ OpenCV functionality resides.

using namespace std;
// For input output operations.


int main()
{
    VideoCapture cap("Bumpy.mp4");
    // cap is the object of class video capture that tries to capture Bumpy.mp4
    if ( !cap.isOpened() )  // isOpened() returns true if capturing has been initialized.
    {
        cout << "Cannot open the video file. \n";
        return -1;
    }

    double fps = cap.get(CV_CAP_PROP_FPS); //get the frames per seconds of the video
    // The function get is used to derive a property from the element.
    // Example:
    // CV_CAP_PROP_POS_MSEC :  Current Video capture timestamp.
    // CV_CAP_PROP_POS_FRAMES : Index of the next frame.

    namedWindow("A_good_name",CV_WINDOW_AUTOSIZE); //create a window called "MyVideo"
    // first argument: name of the window.
    // second argument: flag- types: 
    // WINDOW_NORMAL : The user can resize the window.
    // WINDOW_AUTOSIZE : The window size is automatically adjusted to fitvthe displayed image() ), and you cannot change the window size manually.
    // WINDOW_OPENGL : The window will be created with OpenGL support.

    while(1)
    {
        Mat frame;
        // Mat object is a basic image container. frame is an object of Mat.

        if (!cap.read(frame)) // if not success, break loop
        // read() decodes and captures the next frame.
        {
            cout<<"\n Cannot read the video file. \n";
            break;
        }

        imshow("A_good_name", frame);
        // first argument: name of the window.
        // second argument: image to be shown(Mat object).

        if(waitKey(30) == 27) // Wait for 'esc' key press to exit
        { 
            break; 
        }
    }

    return 0;
}
// END OF PROGRAM

Об авторе:

Адитья Пракаш — студентка Индийского института информационных технологий, Вадодара. Он прежде всего кодирует в C ++. Девиз для него: пока все хорошо. Он играет в крикет, смотрит фильмы о супергероях, футбол и является большим поклонником ответов на вопросы.

Рекомендуемые посты:

Программа OpenCV C ++ для воспроизведения видео

0.00 (0%) 0 votes