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

Опубликовано: 15 Июля, 2021

Ниже приводится объяснение кода 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 - интерфейс для захвата видео и изображений.

#включать 
// Заголовочные файлы для выполнения ввода и вывода.

using namespace cv;
// Пространство имен, в котором находятся все функции C ++ OpenCV.

используя пространство имен std;
// Для операций ввода-вывода.


int main ()
{
    Capture VideoCapture ("Bumpy.mp4");
    // cap - объект захвата видео класса, который пытается захватить Bumpy.mp4
    if (! cap.isOpened ()) // isOpened () возвращает true, если захват был инициализирован.
    {
        cout << "Не удается открыть видеофайл.  n";
        возврат -1;
    }

    двойной fps = cap.get (CV_CAP_PROP_FPS); // получаем количество кадров в секунду видео
    // Функция get используется для получения свойства из элемента.
    // Пример:
    // CV_CAP_PROP_POS_MSEC: текущая временная метка захвата видео.
    // CV_CAP_PROP_POS_FRAMES: индекс следующего кадра.

    namedWindow ("A_good_name", CV_WINDOW_AUTOSIZE); // создаем окно под названием "MyVideo"
    // первый аргумент: имя окна.
    // второй аргумент: типы флагов: 
    // WINDOW_NORMAL: пользователь может изменить размер окна.
    // WINDOW_AUTOSIZE: размер окна автоматически регулируется в соответствии с отображаемым изображением ()), и вы не можете изменить размер окна вручную.
    // WINDOW_OPENGL: окно будет создано с поддержкой OpenGL.

    в то время как (1)
    {
        Каркас коврика;
        // Объект Mat - это базовый контейнер изображения. рамка является объектом мат.

        if (! cap.read (frame)) // если не удалось, прервать цикл
        // read () декодирует и захватывает следующий кадр.
        {
            cout << " n Не удается прочитать видеофайл.  n";
            перерыв;
        }

        imshow ("A_good_name", кадр);
        // первый аргумент: имя окна.
        // второй аргумент: изображение для показа (объект Mat).

        if (waitKey (30) == 27) // Ждем нажатия клавиши esc для выхода
        { 
            перерыв; 
        }
    }

    возврат 0;
}
// КОНЕЦ ПРОГРАММЫ

Об авторе:

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

Если вы также хотите продемонстрировать здесь свой блог, см. GBlog, где можно писать в гостевом блоге на GeeksforGeeks.