Программа OpenCV C ++ для размытия видео
Ниже приводится объяснение кода C ++ для размытия видео на C ++ с помощью инструмента OpenCV.
Что нужно знать:
(1) Код будет компилироваться только в среде Linux.
(2) Для запуска в Windows используйте файл «blur_video.o» и запустите его в cmd. Однако, если он не запускается (проблема в системной архитектуре), скомпилируйте его в Windows, внося подходящие и очевидные изменения в код, например: Используйте <iostream.h> вместо <iostream>.
(3) Команда компиляции: g ++ w blur_vid.cpp o blur_vid `pkgconfig libs opencv`
(4) Запустить команду: ./blur_vid
(5) Видео Bumpy.mp4 должно находиться в том же каталоге, что и код.
Перед запуском кода убедитесь, что в вашей системе // установлен OpenCV.
Объяснение фрагментов кода:
#include "opencv2 / highgui / highgui.hpp" // highgui - интерфейс для захвата видео и изображений. #include <opencv2 / imgproc / imgproc.hpp> // Для работы с изображениями #include <iostream> // Заголовочные файлы для выполнения ввода и вывода. 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"; перерыв; } размытие (рамка, рамка, размер (10,10)); // Чтобы размыть изображение. imshow ("A_good_name", кадр); // первый аргумент: имя окна. // второй аргумент: изображение для показа (объект Mat). if (waitKey (30) == 27) // Ждем нажатия клавиши esc для выхода { перерыв; } } возврат 0; } // КОНЕЦ ПРОГРАММЫ
Об авторе:
Адитья Пракаш учится в Индийском институте. информационных технологий, Вадодара. Он в основном кодирует на C ++. Его девиз: «Пока все хорошо». Он играет в крикет, смотрит фильмы о супергероях, футбол и любит отвечать на вопросы.
Если вы также хотите продемонстрировать здесь свой блог, см. GBlog, где можно писать в гостевом блоге на GeeksforGeeks.