Программа 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 - интерфейс для захвата видео и изображений. #включать // Заголовочные файлы для выполнения ввода и вывода. 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.