8#include <opencv2/imgcodecs.hpp>
9#include <opencv2/highgui.hpp>
10#include <opencv2/imgproc.hpp>
11#include <opencv2/video/tracking.hpp>
12#include <opencv2/opencv.hpp>
15#include "VVT-V2/helper.h"
37 FrameHandler(
const std::string input_file_name,
const std::string output_file_name,
const std::string main_window_name);
48 void ShowFrame(Mat frame,
bool fullscreen);
75 Mat
PutFrameOverFrame(Mat foreground_frame, Mat background_frame, Point2i translation_vector);
142 Mat
AddTips(Mat frame,
int mode);
Класс для чтения и сохранения кадров видео, а также различной их обработки
bool fullscreen_
Флаг полноэкранного режима
int GetAmountOfFrames()
Возвращает общее количество кадров
double current_time_of_frame_
Текущее время кадра из последовательности
String GetMainWindowName()
Возвращает название главного окна, в которое выводятся кадры
int GetFrameWidth()
Возвращает ширину исходного видео
Mat AddTips(Mat frame, int mode)
Добавляет (отрисовывает) подсказки для пользователя на кадр
bool GetInputCapStatus()
Возвращает текущий статус input_cap.
void ShowFrame(Mat frame, bool fullscreen)
Выводит в главное окно принимаемое изображение
Mat current_frame_
Последнний прочитанный кадр
Mat GetCurrentFrame()
Возвращает последний прочитанный на данный момент кадр
std::vector< std::string > tip_text_
Тексты подсказок для пользователя
void ReadNextFrame()
Считывает следующий кадр видео
void WriteFrame(Mat frame)
Записывает кадр с помощью output_cap.
Mat MakeGrayFrame(Mat frame_to_be_grayed)
Возвращает серый кадр с блюром
float text_resize_factor_
Коэффициент масштабирования текста (зависит от разрешения исходного видео)
double input_fps_
FPS исходного видео
VideoCapture * input_cap_
Указатель на объект-захватчик входных кадров видео
double GetCurrentTimeOfFrame()
Возвращает текущее время кадра (таймкод в мс)
bool input_cap_status_
Флаг, принимающий true при удачном чтении кадра и false, если следующий кадр не был считан
int GetInputFps()
Возвращает FPS считываемого видео
int GetCurrentPosOfFrame()
Возвращает текущее положение кадра относительно первого
Mat PutFrameOverFrame(Mat foreground_frame, Mat background_frame, Point2i translation_vector)
Накладывает изображение (переднний план) на другое изображение (задний план)
double input_frame_height_
Высота кадра исходного видео
Mat ConcatenateFramesVertically(Mat top_frame, Mat bottom_frame)
Объединяет два кадра вертикально
Mat ConcatenateFramesHorizontally(Mat left_frame, Mat right_frame)
Объединяет два кадра горизонтально
int GetFrameHeight()
Возвращает высоту считываемого видео
Mat GenerateGradScale(int left_limit, int right_limit, int colored_point_mode)
Генерирует шкалу с градиентом и подписями. Ширина шкалы - ширина исходного видео. Высота регулируется...
double input_frame_width_
Ширина кадра исходного видео
void InitTextResizeFactors()
Инициализирует коэффициент масштабирования текста в зависимости от разрешения видео
float GetTextResizeFactor()
Возвращает коэффициент масштабирования
int current_pos_of_frame_
Текущий номер кадра из последовательности
std::string main_window_name_
Имя главного окна
VideoWriter * output_cap_
Указатель на объект, сохраняющий кадры в последовательность (видео) в зависимости от выбранного кодек...
double input_frame_size_ratio_
Соотношение сторон исходного видео